news 2026/9/12 5:55:24

Android 入门基础教程(小白必看)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Android 入门基础教程(小白必看)

编译工具: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中自己定义的。

publicvoidtest(View view){//View 表示把点击的对象引用传进来Toast.makeText(MainActivity.this,"点击了button",Toast.LENGTH_SHORT).show();}

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

点击修改组件信息

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

publicvoidtest(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">thisis your word</string>></resources>

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

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

更多的Android零基础资料可以拉到下方扫描二维码免费领取!

【腾讯技术团队出品】Android零基础入门到精通,Android Studio安装教程+全套安卓基础教程

Android编程入门教程

Java语言基础从入门到熟悉

Kotlin语言基础从入门到熟悉

Android 技术栈从入门到熟悉

Android Jetpack 全家桶全面学习

对于新手来说可能安装Android Studio存在一定困难你可以看着以下视频,一步步的跟着学习安装运行

Android Studio 安装教程

有了Java阶段的学习,这一阶段建议以视频学习为主辅以图书查漏补缺。如果以图书为主,可以根据图书讲解敲代码,辅以教学视频查漏补缺。遇到问题可以去百度,入门的问题一般会有很多人遇到,并且给出比较好的解答。

需要掌握基本知识点,比如四大组件如何使用、如何创建Service、如何进行布局、简单的自定义View、动画、网络通信等常见技术。

全套零基础教程已经为你们准备好了,需要的可以添加下方二维码免费领取

全套安卓基础教程





版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 5:55:24

AI Agent 基础概念全景:从 LLM 本质到架构模式与关键挑战

AI Agent 基础概念全景&#xff1a;从 LLM 本质到架构模式与关键挑战 ⚠️ 重要&#xff1a;本文包含 LLM 本质与 Token 原理、Agent 核心概念与 ReAct 模式、四种 Agent 架构模式&#xff08;Router / Tool-calling / Multi-Agent / Hierarchical&#xff09;、Agent 开发六大…

作者头像 李华
网站建设 2026/8/31 5:04:47

PCB设计播客如何覆盖全球?从热词到工程场景的实践复盘

六月中旬&#xff0c;我习惯性地打开播客后台&#xff0c;看到月度下载量又刷新了记录。当初只是在几个工程师朋友群里吐槽PCB设计难做的节目&#xff0c;如今出现在全球六十多个国家和地区的订阅列表里。借这个机会&#xff0c;正好把PCB Podcast上半年的数据、选题逻辑和踩过…

作者头像 李华
网站建设 2026/9/8 16:33:24

【非标自动化】3、AutoShop快速理解(梯形图元素)

Easy 系列确实基于 AutoShop&#xff0c;支持 LD&#xff08;梯形图&#xff09;等语言&#xff1b;另外 AutoShop 4.10.1.0 起&#xff0c;Easy/H5U 增加了“立即输入/输出相关指令”&#xff0c;所以截图里的“立即常开触点、立即常闭触点、立即输出线圈”并不是普通触点换了…

作者头像 李华
网站建设 2026/9/1 20:52:42

MCU+FPGA安全关键平台:AURIX与Zynq异构计算实战解析

做汽车电子和工业控制的朋友&#xff0c;这几年应该都有同一个感受&#xff1a;单靠一颗MCU&#xff0c;已经很难扛下越来越重的算力需求&#xff0c;同时还得守住功能安全这条红线。无论是ADAS域控制器、线控底盘还是机器人控制器&#xff0c;主控板上经常能看到“MCUFPGA”的…

作者头像 李华
网站建设 2026/9/3 7:11:06

场景资产引用查找器 - EditorWindow

目录一、背景二、功能介绍三、实现思路四、脚本继承检测逻辑五、完整核心代码六、使用场景七、目前工具限制八、后续优化方向九、总结Unity‑Editor 工具&#xff1a;场景资产引用查找器完整教程一款编辑器工具&#xff0c;一键检索当前场景内所有游戏物体对目标资源、脚本组件…

作者头像 李华
网站建设 2026/9/2 14:05:56

机械键盘连击拦截指南:让每个按键只敲出一个字符

机械键盘连击拦截指南&#xff1a;让每个按键只敲出一个字符 【免费下载链接】KeyboardChatterBlocker A handy quick tool for blocking mechanical keyboard chatter. 项目地址: https://gitcode.com/gh_mirrors/ke/KeyboardChatterBlocker 想打 "the"&…

作者头像 李华