android系统四大组件:activity、Service\BroadcastReciver和ContentProvider
activity:能看到的东西都在activity中
service:会在后台运行
BroadcastReceiver:允许应用接受来自各处的广播消息,电话短信等
ContentProvider:维应用程序之间共享数据提供可能,比如读取系统通讯录中的联系人
工具:
JDK:jdk是java语言的软件开发工具包,包含Java的运行环境,工具集合,基础类库等
Android SDK: 是google提供的android开发工具包,在开发android程序时要引入该工具包来使用android相关API
android Studio:比eclipse更强大
成功运行第一个hello world
关于文件的目录:
1. .gradle和.idea
自动生成的文件,无需关心
2.app
项目的代码和资源
3.build
编译时自动生成的文件,无需关心
4.gradle
包含gradle wrapper的配置文件
5.gitignore
版本控制
6.build.greadle
全局的gradle构建脚本
7.gradle.properties
全局的gradle的配置文件
8.gradlew和gradlew.bat
在命令行中执行gradle命令
9.hello world。imi
不理会
10.local properties
指定本机android SD路径,自动生成不需要更改,除非SDK位置发生变化
11.settings.gradle
指定项目中引入的模块,一般只有一个app模块
app目录是重点:
重点分析如下:
1.build
不用关心
2.libs
添加使用的第三方jar包,这些jar包放在libs目录下,放在这个目录下的jar包会被自动添加到项目的构建路径里
3.androidTest
编写测试用例,自动化测试
4.java
放置java代码的地方
5.res
项目中用到的所有图片、布局、字符串等,图片放在drawable,布局放在layout,字符串放在values
6.androidManifest.xml
整个项目的配置文件,在程序中定义的四大组件都需要在这个文件注册,另外还可以在这个文件中给应用程序添加权限声明
7.test
编写unit Test测试用例
8.。gitinore
用于将App模块内指定的目录或文件排除在版本控制之外
9.app.iml
不关心
10.build.gradle
app模块的gradle构建脚本,
11.proguard-rules.pro
指定项目代码的混淆规则,打包成安装包文件会对代码进行混淆
AAbdriud-manifest.xml对activity进行了注册,文件里面注册了mainactivtiy,mainactivity是一个继承于APPcompatactivity的一个子类。
android设计讲究逻辑和视图分离,所以不在activity中编写界面,在布局文件中编写界面,然后在activity中引进来。
app/src/mian/res 夏的drawable开头的目录都是用来放图片的,mipmap开头的目录都是放应用图标的,values放字符串,样式,颜色等配置,layout开头放布局文件
不同分辨率的设备会自动加载对应分辨率的图片,drawable-xxhdpi是最主流的设备分辨率目录
在代码中通过R。string.app_name获取字符串的引用
在XML中通过@String/app_name获取字符串的引用,同理可以获取图片,布局,应用图标