这是我参与「第四届青训营 」笔记创作活动的第1天
Android系统架构
Android系统架构类似于OSI模型,是分工合作完成一个任务的过程。Android架构分为如下四层:
Linux内核层
Android系统基于Linux内核,这一层是负责处理底层硬件的驱动,比如蓝牙驱动、显示驱动等。
系统运行库层
这一层是一些C/C++库。其中还有Android运行时库,它使用户可以用JAVA来编写Android应用。Android运行时库包含了为移动设备定制的Dalvik虚拟机,类似jvm。
应用框架层
这一层提供了各种API,API访问硬件时会调用系统运行库层的C/C++库工具,从而控制底层硬件。
应用层
我们在手机上看到的app都属于这一层。
开发第一个应用程序
我们下载应用时会发现下载下来的文件是一个apk文件,那apk到底是什么呢?其实apk是一个压缩包,里面包含Android系统四大组件、程序员写好的java代码、图片等资源文件、c/c++代码编译好的文件和用于验证的证书签名文件。
四大组件
Android系统的四大组件包括Activity、Service、BroadcastReceiver和ContentProvider。Activity是用户看得见的东西。Service是后台默默运行的程序。BroadcastReceiver是收发广播消息的组件。ContentProvider实现不同应用程序之间的数据共享。
项目结构
在成功下载并配置好AndroidStudio环境后,我们可以看到ide给我们自动创建好的项目结构。其中.gradle和.idea都是编译器自动生成的文件,不需要去编辑他们。
- app:用于存放程序员编写的代码。
- gradle.properties:gradle配置文件。
- build.gradle:gradle构建脚本。
- local.properties:指定Android SDK路径。如果要Android SDK位置,可以在这个文件里修改路径(比如说由于c盘下默认的SDK路径中包含中文字符或者空格等,从而使程序运行出现问题了,就需要更改SDK的路径)
- puoguard-rules.pro:如果不想被别人看透代码,可以在这里指定代码混淆规则。
app目录下的结构
-
java:java代码。
-
res:在项目中引用的图片等资源存放的位置。drawable存放图片资源,layout存放布局,values存放字符串。
-
AndroidManifest.xml:全局配置文件,包含四大组件的注册、权限声明等配置。