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

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设置签名

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

  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包,我们就能看到可读的信息,也可以进行导出等操作。

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

  • 27
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值