1. 平台架构与项目目录
1.1 平台架构
-
应用程序框架
- 活动管理器( Activity Manager): 管理应用程序生命周期并提供常用的导航回退功能。
- 内容提供器(Content Providers):提供应用程序之间的数据访问服务(如联系人数据库)。
- 视图(Views):构建应用程序的可视化控件, 包括列表、文本框、按钮等。
- 资源管理器(Resource Manager):提供静态资源的访问,如字符串、图形、布局文件。
- 通知管理器 (Notification Manager):使得应用程序可在状态栏中显示自定义信息。
-
系统运行库
- 系统库:C/C++库,为平台的不同组件使用。
- Android 运行库:由Android核心库 + Dalvik虚拟机构成。Dalvik虚拟机是针对移动设备的虚拟机,不需要很快的CPU计算速度和大量的内存空间,每个App都单独地运行在Dalvik虚拟机进程上。
-
Linux内核:提供底层驱动,如显示驱动、相机驱动、蓝牙驱动、电源管理等。
1.2 项目目录
-
libs:放置第三方jar包,jar包将被自动添加到构建路径中。
-
Manifests:AndroidManifest.xml是项目配置文件,所有Activity、权限都要在这里声明。
<activity android:name=".HelloWorldActivity" android:theme="@style/Theme.AppCompat.Dialog" android:label="FirstActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity>
- theme:活动的主题,此处声明为对话框主题活动。
- label:标题栏内容,主活动label还会成为应用程序的名称。
- intent-filter:这里包含的两句话声明该活动为主活动。
-
app:存放项目的主要动态文件。
-
res:存放静态资源文件,包括drawable、layout、strings、themes、values,menu,mipmap。
-
build.gradle:当前app的gradle构建脚本,指定项目构建相关配置。
-
proguard-rules.pro:指定项目代码混淆规则,防止破解