Android系统结构
android分为四层架构:Linux内核层、系统运行库层、应用框架层和应用层。
Linux内核层
android基于Linux内核,这一层为Android设备的各种硬件底层驱动,如显示驱动、音频驱动等等。
系统运行库层
这一层通过一些C/C++库来为Android系统提供了主要的特性支持。如SQLite库,OPenGL|ES库提供3D绘制的支持,WebKit库的特性支持。系统运行优化。
应用框架层
这一层主要提供了构建应用程序时可能用到的各种API,Android自带的核心功能。
应用层
所有安装在手机上的应用程序都是属于这一层,比如系统自带的联系人、短信等程序。包含自己开发的程序。
Android有点和特色
Android四大组件
1.活动(Activity):可看到的东西。
2.服务(Service):后台运行,不可看到。
3.广播接收器(Broadcast Receive):互相交流数据。
4.内容提供器(Content Provider):为应用程序共享数据提供可能。
丰富的系统控件
SQLite数据库
强大的多媒体
地理位置定位
Android开发工具
JDK
java语音的软件开发工具包,运行工具,类库等等。
Android SDK
android开发过程中的SDK
分析Android Studio 文件夹中每个文件的意义
1..gradle和.idea
这两个目录下放置的都是Android Studio自动生成的一些文件。
2.app
项目中的代码、资源等内容几乎都是放置在这个目录下。对我们很重要
3.build
这个目录包含了一些在编译时自动生成的文件。
4.gradle
这个目录下包含了gradle wrapper的配置文件,使用gradle wrapper不需要将gradle下载好,而是会自动根据本地的缓存情况决定是否需要联网下载gradle。工具不默认打开gradle.
5.gitignore
这个文件是用来将制定的目录或文件夹排除在版本控制之外的。
6.build.gradle
这个项目全局的gradle构建版本,通常这个文件中内容是不需要修改的。
7.gradle.properties
这个文件是全局的gradle配置文件,在这个配置的属性将会影响到项目中所有的gradle编译脚本。8.gradlew和gradlew.bat
这两个文件是用来在命令行界面中执行gradle命令的,其中前者是在linux或Mac系统中使用,后者是在Windows系统中使用。
9.HellWorld.imi
iml文件是所有的IntelliJ IDEA项目都会自动生成的一个文件(Android Studio是基于Intellij IDEA开发的),用于标识这是个IntelliJ IDEA项目,我们不需要修改这个文件中的任何内容。
10.local.properties
这个文件用于指定本机中的Android SDK路径,同城内容都是自动生成的,我们并不需要修改。如果本机的Android SDK位置发生了变化,那么就将这个文件中的路径新的位置即可。
11.settings.gradle
这个文件用于指定项目中的所有引入的模块。
app文件夹各个文件解释
1.build
编译时自动生成的文件。
2.lib
存放第三方jar包。
3.androidTest
编写Android Test测试用例的,可以对项目进行一些自动化的测试。
4.java
存放java代码的地方。
5.res
存放图片、布局、字符串、样式等。
6.AndroidManifest.xml
整个Android项目的配置文件,四大组件都是在这个文件里面注册。
7.Test
此处是用来编写Unit Test测试用例的,是对项目进行自动化测试的另一种方式。
8.gitignore
这个文件用于将app模块内的指定的目录或文件排除在笨笨控制之外。
9.app.iml
IntelliJ IDEA项目自动生成的文件。
10.build.gradle
app模块的gradle构建脚本。
11.proguard-rules.pro
这个文件用于指定项目代码的混淆规则。
日子工具
Log.v():用于打印那些最为繁琐的,意义最小的日志信息。verbose
Log.d():用于打印调试信息,debug 调试有帮助的
Log.i():用于打印总有数据,info 想要看到的
Log.w():用于打印警告信息,warning 可能潜在风险
Log.e():用于打印程序中的错误,error 存在重大错误,导致程序崩溃