目录
一、android系统架构
1.Linux内核层
3.应用框架层
4.应用层
二、特点
1.四大组件:活动、服务。广播接收器、内容接收器。
2.丰富的系统控件
3.SQLite数据库
4.强大多媒体
5.地理位置定位
三、需要的开发工具
1.JDK(java软件开发工具包)
2.Android SDK(android开发工具包)
3.Android Studio
四、项目的目录结构,重点
1.project下的内容分析:
.gradle:
.idea:
.app:存放项目中的代码,资源。主要在该目录下开发。
.build:存放一些编译时产生的文件。
.gradle:包含gradle wrapper 的配置文件,使用时不需要提前下载gradle,会根据联网情况下载。默认没有启动gradle wrapper。通过File->Setting->Build,Execution,Deployment->Gradle,更改配置。
.gitignore:将指定的目录或文件排除在版本之外。
build.gradle:项目全局的gradle构建脚本。
gradle.properties:全局的gradle配置文件,这里配置的属性将会影响到项目中所有的gradle编译脚本。
gradlew和gradlew.bat:用来在命令行界面中执行gradle命令。gradlew用在Linux和Mac中,gradlew.bat用在windows中。
HelloWorld.iml:iml用于标识这是一个IntelliJ IDEA项目。
local.properties:指定Android SDK路径。
setting.gradle:指定项目中所有的引入的模块。
2.app目录下内容分析:
build:包含一些编译时自动产生的文件。
libs:包含使用到的第三方jar包。
androidTest:编写Android Test用例,可以对项目进行一些自动化测试。
java:放置java代码。
res:存放项目需要的资源。drawable--图片、layout--布局、values--字符串颜色样式的配置、mipmap存放图标。
(引用资源的例子:代码:R.string.app_name & xml:@string/app_name)
AndroidMainfest.xml:这个Android项目的配置文件,程序中定义的四大组件在该文件注册。可以给应用程序添加权限说明。
test:编写Unit Test的测试用例。
.gitignore:将APP模块内指定的目录或文件排除在版本控制外。
app.iml:IntelliJ IDEA项目自动生成的文件。
build.gradle:app模块的gradle构建脚本,指定很多项目构建的相关配置。
proguard-rules.pro:指定代码混淆规则,防止破解。
五、管理日志。
Log.v():verbose,级别最低,打印最琐碎日志信息。
Log.d():debug,打印调试信息。
Log.i():info,打印比较重要的数据信息。
Log.w():warn,打印警告信息,提示这个地方可能出线的潜在危险。
Log.e():error ,打印程序中的错误信息。
实例:Log.d(tag,msg);//tag,传入当前类名,对打印信息进行过滤。msg,想要打印的具体内容。
六、资源管理
存放不同分辨率的图片:
drawable-hdpi
drawable-xhdpi
drawable-xxhdpi