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

编译工具:Android Studio

各种工具其实大同小异

开发环境的搭建还有项目新建这里就不过多说明了,网上有很多教程。项目新建按照需求来就好,我这里选用空的界面(Empty Activity)和Android 4.0.3,大家一定要注意安卓版本匹配问题鸭,之前每次新建项目都报错,最后才发现是版本匹配问题。

话不多说,进入正题吧!

Hello World!

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

android jni基础 android基础入门教程_android jni基础

MainActivity.java页面,这个页面相当于我们的主视图。

res文件夹是资源文件的配置文件。

文件夹里面有 layout 用来存放布局文件。

以上就是基本用到的文件,而如果此时项目没有报错,那么直接运行便会可以显示hello world,应用已经发布到了模拟器上。

android jni基础 android基础入门教程_jar_02

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

开始添加组件

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

android jni基础 android基础入门教程_android jni基础_03

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

而拖动后可能会报错,如下图

android jni基础 android基础入门教程_android_04

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

android jni基础 android基础入门教程_jar_05

点击按钮响应

我们可以向页面中拖入button,自然需要点击按钮时还有一定的响应。

这就需要在activity_main.xml里的代码页面(Text)进行修改。

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();
}

在类中添加如上方法,中间的参数分别表示绑定的对象,提示的信息和显示的时间长短。

这样,我们就可以在点击按钮以后有一个小的提示出现。

android jni基础 android基础入门教程_android_06

点击修改组件信息

如果要实现点击按钮后,对文字内容进行修改,我们首先需要找到文字内容的位置,类似于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();
}

android jni基础 android基础入门教程_android_07

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

自定义string

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

My Application

this is your word>

此时我们的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

我的应用

这里是自定义的文字>

虽然资源没有发生改变,但是实际运行却发现里面的文字变成了中文。

而我们可以在模拟器的设置应用中找到语言切换(其实就是手机中切换显示语言的操作)。

DDMS的应用

DDMS是Dalvik调试监控服务,可以实现很多有用的功能:例如监控后台日志、系统线程、虚拟机状态、堆信息、模拟发短信、打电话……

能够把模拟器运行的信息显示出来,方便我们调试程序。

如果我们在test方法里,添加一句

System.out.println("hhhhhhhhhhh")

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

android jni基础 android基础入门教程_android_08

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

Log.d("init","Debug级别运行");
Log.i("execute","info级别运行了");

运行如下图所示

android jni基础 android基础入门教程_android_09

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

模拟器好玩的东西

android jni基础 android基础入门教程_xml_10

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

android jni基础 android基础入门教程_xml_11

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

项目打包

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

生成,

android jni基础 android基础入门教程_jar_12

然后就能在项目里找到apk文件。

而这样产生的apk不够安全,有可能被同名的软件覆盖掉。

所以我们就需要使用签名。

apk设置签名

为了安全起见

我们一般要导出签名的应用

build->generate signed bundle or apk

然后选择第二个:选择APK

创建一个新的密钥

配置密钥信息

选择release,勾选v2-apk签名

项目的release下便会有我们需要的apk文件

android jni基础 android基础入门教程_android_13

反编译小谈

我们的apk文件实际上是一个压缩包,解压后可以看到我们项目经过处理后的文件。

其中classes.dex和resources.arsc文件是之前文件内容的集中和r类的集中。

而反编译就是将这两个文件重新转化为之前文件的过程。

反编译使用的软件:dex2jar和JD-GUI

将需要反编译的文件拖进dex2jar的目录下,用cmd命令在目录下执行 dex2jar.bat 文件名(例如:dex2jar.bat classes.dex)

然后会生成一个jar包

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

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