大家好,又见面了,我是你们的朋友全栈君。
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)进行修改。
<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 中自己定义的。
public void test(View view){
//View 表示把点击的对象引用传进来
Toast.makeText(MainActivity.this,"点击了button",Toast.LENGTH_SHORT).show();
}
在类中添加如上方法,中间的参数分别表示绑定的对象,提示的信息和显示的时间长短。
这样,我们就可以在点击按钮以后有一个小的提示出现。
点击修改组件信息
如果要实现点击按钮后,对文字内容进行修改,我们首先需要找到文字内容的位置,类似于js中,我们可以在test方法中这样写。
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,里面可以添加定义的字符串。
<resources>
<string name="app_name">My Application</string>
<string name="st1">this is your word</string>>
</resources>
此时我们的test方法可以更改为这样,来使显示的文字变成我们提前定义好的st1。
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不仅可以在代码中引用,也可以在页面中引用。
android:text="@string/st1"
这一句可以使按钮的显示文字变成我们定义的string
资源国际化
在res目录下新建文件夹:values-zh-rCN
里面复制一份string.xml
<resources>
<string name="app_name">我的应用</string>
<string name="st1">这里是自定义的文字</string>>
</resources>
虽然资源没有发生改变,但是实际运行却发现里面的文字变成了中文。
而我们可以在模拟器的设置应用中找到语言切换(其实就是手机中切换显示语言的操作)。
DDMS的应用
DDMS是Dalvik调试监控服务,可以实现很多有用的功能:例如监控后台日志、系统线程、虚拟机状态、堆信息、模拟发短信、打电话……
能够把模拟器运行的信息显示出来,方便我们调试程序。
如果我们在test方法里,添加一句
System.out.println("hhhhhhhhhhh")
那么点击按钮后就能看到在后台
其实我们正常打印信息是选择使用log函数
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设置签名
为了安全起见
我们一般要导出签名的应用
- build->generate signed bundle or apk
- 然后选择第二个:选择APK
- 创建一个新的密钥
- 配置密钥信息
- 选择release,勾选v2-apk签名
- 项目的release下便会有我们需要的apk文件
反编译小谈
我们的apk文件实际上是一个压缩包,解压后可以看到我们项目经过处理后的文件。
其中classes.dex和resources.arsc文件是之前文件内容的集中和r类的集中。
而反编译就是将这两个文件重新转化为之前文件的过程。
反编译使用的软件:dex2jar和JD-GUI
将需要反编译的文件拖进dex2jar的目录下,用cmd命令在目录下执行 dex2jar.bat 文件名(例如:dex2jar.bat classes.dex)
然后会生成一个jar包
用jd—gui.exe打开生成的jar包,我们就能看到可读的信息,也可以进行导出等操作。
看到这里啦!制作不易,请点个赞再走吧!!!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/136809.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...