-
linux内核层
为设备的各种硬件提供了底层的驱动,如显示驱动等 -
系统运行库层
通过c/c++库来为android提供主要的特性支持。如sqliteku提供的数据库支持,pengl|es库提供3d绘图的支持,webkit库提供了浏览器内核的支持等;还提供一些核心库,允许开发者使用java语言编写android程序;存在dalvik虚拟机(5.0系统后改为art运行环境)是专门为移动设备定制的,他针对手机内存、cpu性能等情况进行了优化处理。 -
应用框架层
提供构建应用程序时可能用到的更重api -
应用层
各种应用程序
activity
- 一个 activity 包含了用户能够看到的界面,从而于用户进行交互。一个应用程序中可以有零个或者多个activity。零个 activity 就表示,这个应用程序不包含与用户交互的界面。
- android应用中每一个activity都必须要在androidmanifest.xml配置文件中声明注册,否则系统将不识别也不执行该activity。
<activity
android:name=".mainactivity"
android:exported="true"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.main" />
<category android:name="android.intent.category.launcher" />
</intent-filter>
</activity>
- activity的生命周期
android 是使用任务(task)来管理activity的,一个任务就是一组存放在栈里activity的集合,这个栈也叫作返回栈。activity的生命周期由以下几个部分组成:
函数 | 描述 |
---|---|
oncreat() | 一个activity启动后第一个被调用的函数,常用来在此方法中进行activity的一些初始化操作。例如创建view,绑定数据,注册监听,加载参数等。 |
onstart() | 当activity显示在屏幕上时,此方法被调用但此时还无法进行与用户的交互操作。 |
onresume() | 这个方法在onstart()之后调用,也就是在activity准备好与用户进行交互的时候调用,此时的activity一定位于activity栈顶,处于运行状态。 |
onpause() | 这个方法是在系统准备去启动或者恢复另外一个activity的时候调用,通常在这个方法中执行一些释放资源的方法,以及保存一些关键数据。 |
onstop() | 这个方法是在activity完全不可见的时候调用的。 |
ondestroy() | 这个方法在activity销毁之前调用,之后activity的状态为销毁状态。 |
onrestart() | 当activity从停止stop状态恢进入start状态时调用状态。 |
service
broadcast receiver
content provider
- project
- android
-
bulid
编译时自生成文件
-
libs
第三方jar包,会被自动添加到构建路径中去
-
java
java代码
-
res
项目中使用的所有资源,drawable存放图片,layout存放布局,values存放字符,mipmap存放图标
-
manifest
androidmanifest.xml配置文件,程序中定义的四大组件都需要在这个文件里注册,另外这个文件中还可以给应用程序添加权限声明
-
bulid.gradle
项目构建工具,通常有两个bulid.gradle,一个是项目级一个是app级
-
com.android.application
应用程序模块 -
com.android.library
库程序模块
区别:一个是可以直接运行的,一个只能作为代码库依附于别的应用程序模块来运行
发表评论