首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Android入门基础教程(小白速成1)

Android入门基础教程(小白速成1)

作者头像
全栈程序员站长
发布2022-08-22 10:32:30
发布2022-08-22 10:32:30
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

Android 入门基础教程(小白速成1)

编译工具:Android Studio 各种工具其实大同小异 开发环境的搭建还有项目新建这里就不过多说明了,网上有很多教程。项目新建按照需求来就好,我这里选用空的界面(Empty Activity)和Android 4.0.3,大家一定要注意安卓版本匹配问题鸭,之前每次新建项目都报错,最后才发现是版本匹配问题。 话不多说,进入正题吧!

Hello World!

新建好项目以后,我们首先认识几个主要用到的界面。

MainActivity.java页面,这个页面相当于我们的主视图。 res文件夹是资源文件的配置文件。 文件夹里面有 layout 用来存放布局文件。 以上就是基本用到的文件,而如果此时项目没有报错,那么直接运行便会可以显示hello world,应用已经发布到了模拟器上。

如图,我们运行成功了。模拟器和普通手机很类似,可以实现很多功能。大家可以自行尝试。

开始添加组件

我们添加组件的操作是在activity_main.xml上通过拖动完成的

最左下角的design视图里,我们能通过拖动左边的组件,放在右边的界面上。Text页面是组件的代码,我们可以在text页面修改组件的参数。 而拖动后可能会报错,如下图

只需要在右侧布局中点击组件周围的加号,给它固定位置即可

点击按钮响应

我们可以向页面中拖入button,自然需要点击按钮时还有一定的响应。 这就需要在activity_main.xml里的代码页面(Text)进行修改。

代码语言:javascript
代码运行次数:0
运行
复制
<Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="157dp" android:layout_marginLeft="157dp" android:layout_marginTop="218dp" android:text="Button" android:onClick="test" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" />

我们只是添加了一句点击响应。点击时,调用test方法 test方法是需要我们在 MainActivity.java 中自己定义的。

代码语言:javascript
代码运行次数:0
运行
复制
 public void test(View view){ 
   
        //View 表示把点击的对象引用传进来
        Toast.makeText(MainActivity.this,"点击了button",Toast.LENGTH_SHORT).show();
    }

在类中添加如上方法,中间的参数分别表示绑定的对象,提示的信息和显示的时间长短。 这样,我们就可以在点击按钮以后有一个小的提示出现。

点击修改组件信息

如果要实现点击按钮后,对文字内容进行修改,我们首先需要找到文字内容的位置,类似于js中,我们可以在test方法中这样写。

代码语言:javascript
代码运行次数:0
运行
复制
 public void test(View view){ 
   
        //View 表示把点击的对象引用传进来
        TextView textView =findViewById(R.id.textView);
        textView.setText("内容被修改了");
        Toast.makeText(MainActivity.this,"点击了button",Toast.LENGTH_SHORT).show();
    }

(组件必须有id值才能被找到,所以记得看看要修改的组件id是什么,例如:android:id=”@+id/textView”)

自定义string

在values文件下我们可以看到有strings.xml,里面可以添加定义的字符串。

代码语言:javascript
代码运行次数:0
运行
复制
<resources>
    <string name="app_name">My Application</string>

    <string name="st1">this is your word</string>>
</resources>

此时我们的test方法可以更改为这样,来使显示的文字变成我们提前定义好的st1。

代码语言:javascript
代码运行次数:0
运行
复制
public void test(View view){ 
   
        //View 表示把点击的对象引用传进来
        TextView textView =findViewById(R.id.textView);
        textView.setText(R.string.st1);
        Toast.makeText(MainActivity.this,"点击了button",Toast.LENGTH_SHORT).show();
    }

这么定义,主要是为了使这个字符串被多次引用时,调用、修改更为方便。

当然,string不仅可以在代码中引用,也可以在页面中引用。

代码语言:javascript
代码运行次数:0
运行
复制
android:text="@string/st1"

这一句可以使按钮的显示文字变成我们定义的string

资源国际化

在res目录下新建文件夹:values-zh-rCN 里面复制一份string.xml

代码语言:javascript
代码运行次数:0
运行
复制
<resources>
    <string name="app_name">我的应用</string>

    <string name="st1">这里是自定义的文字</string>>
</resources>

虽然资源没有发生改变,但是实际运行却发现里面的文字变成了中文。 而我们可以在模拟器的设置应用中找到语言切换(其实就是手机中切换显示语言的操作)。

DDMS的应用

DDMS是Dalvik调试监控服务,可以实现很多有用的功能:例如监控后台日志、系统线程、虚拟机状态、堆信息、模拟发短信、打电话…… 能够把模拟器运行的信息显示出来,方便我们调试程序。 如果我们在test方法里,添加一句

代码语言:javascript
代码运行次数:0
运行
复制
System.out.println("hhhhhhhhhhh")

那么点击按钮后就能看到在后台

其实我们正常打印信息是选择使用log函数

代码语言:javascript
代码运行次数:0
运行
复制
 Log.d("init","Debug级别运行");
 Log.i("execute","info级别运行了");

运行如下图所示

当然,那六个打印优先级是依次递减的,verbose所有都会显示,而assert所有的都不会显示。

模拟器好玩的东西

右边的工具栏都是可以用的,而最底下那三个点,点击以后会进入Extended Control界面,在这里我们可以控制给自己发短信,打电话。

这个界面还有很多好玩的东西,就需要大家自己寻找啦!

项目打包

我们安装一个写好的程序是需要.apk文件的,我们可以点击build->build bundle(s)/apk(s)->bulid apk(s) 生成,

然后就能在项目里找到apk文件。 而这样产生的apk不够安全,有可能被同名的软件覆盖掉。 所以我们就需要使用签名。

apk设置签名

为了安全起见 我们一般要导出签名的应用

  1. build->generate signed bundle or apk
  2. 然后选择第二个:选择APK
  3. 创建一个新的密钥
  4. 配置密钥信息
  5. 选择release,勾选v2-apk签名
  6. 项目的release下便会有我们需要的apk文件

反编译小谈

我们的apk文件实际上是一个压缩包,解压后可以看到我们项目经过处理后的文件。 其中classes.dexresources.arsc文件是之前文件内容的集中和r类的集中。 而反编译就是将这两个文件重新转化为之前文件的过程。

反编译使用的软件:dex2jar和JD-GUI 将需要反编译的文件拖进dex2jar的目录下,用cmd命令在目录下执行 dex2jar.bat 文件名(例如:dex2jar.bat classes.dex) 然后会生成一个jar包

用jd—gui.exe打开生成的jar包,我们就能看到可读的信息,也可以进行导出等操作。

看到这里啦!制作不易,请点个赞再走吧!!!

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/136809.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月4,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Android 入门基础教程(小白速成1)
    • Hello World!
    • 开始添加组件
      • 点击按钮响应
      • 点击修改组件信息
      • 自定义string
    • 资源国际化
    • DDMS的应用
    • 模拟器好玩的东西
    • 项目打包
      • apk设置签名
      • 反编译小谈
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档