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)进行修改。

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

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

Android入门基础教程(小白速成1)相关推荐

  1. [转]Android入门基础教程

    第1章 Android Studio运行第一个程序 1.1 Android Studio下载: 1.1.1 Android开发者官网: Android 开发者  |  Android Develope ...

  2. Android 入门基础教程2

    第十章 多媒体应用 Android 多媒体框架支持捕获和编码各种常见的音频和视频格式. 10.1 MediaRecorder概述 用于录制音频和视频的一个类. 10.1.1 状态转换图 说明: 下面是 ...

  3. java入门基础教程(纯干货知识点+视频资源)

    本套Java视频教程是黑马程序员冯老师精心录制的Java基础班视频,该视频专门针对零基础的学员录制,授课讲究通俗易懂.干货.通过该套Java视频教程的学习,相信你能够轻轻松松地入门java语言. 完整 ...

  4. ai怎么让图片任意变形_AI入门基础教程-图形绘制变形及路径查找器

    原标题:AI入门基础教程-图形绘制变形及路径查找器 l 新建: l 界面: 多个预编辑区: l 存储格式: 1. .AI :AI软件默认的存储格式,相当于PS的PSD格式 2. .EPS:使用AI软件 ...

  5. Hadoop新手篇:hadoop入门基础教程

    Hadoop新手篇:hadoop入门基础教程 关于hadoop的分享此前一直都是零零散散的想到什么就写什么,整体写的比较乱吧.最近可能还算好的吧,毕竟花了两周的时间详细的写完的了hadoop从规划到环 ...

  6. 《Android UI基础教程》——1.2节Android 应用程序的基本结构

    本节书摘来自异步社区<Android UI基础教程>一书中的第1章,第1.2节Android 应用程序的基本结构,作者 [美]Jason Ostrander,更多章节内容可以访问云栖社区& ...

  7. 《Android UI基础教程》——2.1节创建一个应用

    本节书摘来自异步社区<Android UI基础教程>一书中的第2章,第2.1节创建一个应用,作者 [美]Jason Ostrander,更多章节内容可以访问云栖社区"异步社区&q ...

  8. c++语言while循环,c++ c语言while 循环语句入门基础教程

    c++ c语言while 循环语句入门基础教程 我们来看While 循环语句,它跟 For 循环区别在于,For 循环一般知道循环次数,在第一行里头就指明了,而while循环一般不知道循环次数,下面我 ...

  9. python基础教程运行程序_Python入门基础教程:WSGI

    原标题:Python入门基础教程:WSGI WSGI 简介 WSGI 是什么 WSGI 是 Python Web Server Gateway Interface 的缩写,是描述 Web 服务器与 P ...

  10. Hadoop入门基础教程 Hadoop之单词计数

    单词计数是最简单也是最能体现MapReduce思想的程序之一,可以称为MapReduce版"Hello World",该程序的完整代码可以在Hadoop安装包的src/exampl ...

最新文章

  1. 用上这个Python的Docker正式版镜像,你也能成为容器高玩
  2. ios runloop学习
  3. 计算机的世界:[-bit之魂-]
  4. 英语口语练习系列-C24-杂技-问候语-乡愁
  5. EF Core事务提交,分布式事务
  6. mac 显示隐藏文件的命令行和快捷键
  7. 陈年牵手徐静蕾之一箭双雕
  8. 如何设置省略号对其序号 html,html – 包含省略号和垂直对齐中间的框中的多行...
  9. 字节跳动武汉招聘 2000 人,距离大厂 Offer,你还差这篇 Java 干货!| 原力计划...
  10. AD、DHCP、DNS概念整理
  11. 磨刀室-文本编辑之全面接触PDF:最好用的PDF软件汇总(转)
  12. win7创建桌面计算机,win7系统添加或删除虚拟桌面的方法介绍
  13. ansys中ex是什么意思_ansys命令流mp,ex
  14. Ubuntu 安装MinGW32出现Unable to locate package mingw32找不到安装包的解决方法和思路
  15. cwebp 命令大全
  16. Error in unoecdf(cc, pdiff[case], Wi[case] * PTB.Vi[case]) : NA/NaN/Inf in foreign function call
  17. 计算机视觉论文doc,计算机视觉论文.doc
  18. 基于端到端深度学习方法的语音唤醒(Keyword Spotting)模型和论文
  19. 祖思机——第一台二进制可编程计算机
  20. 上海的二手房价有所下跌,现在你们的工资够买间厕所了吗?Python帮你分析上海的二手房价

热门文章

  1. android音乐播放器课程设计报告,音乐播放器课程设计报告
  2. 电脑电池怎么测试软件,笔记本电池检测软件,详细教您笔记本电池怎么检测
  3. matlab用辛普森公式求积分_1.1高等数学公式大全
  4. 2018计算机应用基础作业一,2018计算机应用基础试题及答案
  5. 网页设计中文标题h1~h4应用技巧
  6. Windows Server AppFabric分布式缓存研究
  7. 惠普传真服务器位置,HP打印机ip地址设置及添加
  8. ModelAndView
  9. Hibernate入门第一讲——Hibernate框架的快速入门
  10. 2015年阿里巴巴1688.com实名供应商数据84万