Android体系结构:
- 应用程序框架:
- UI组件:程序的可视化控件.
- Content Providers:实现程序间数据的共享和互访.
- Resource Manager:代码以外资源的管理.
- Notification Manager:将警示信息显示在状态栏.
- Activity Manager:应用生命周期的管理和应用页面推出机制.
- 库
- 系统C库 (libc):专为嵌入式Linux设备定制.
- 媒体库:基于PacketVideo OpenCORE.
- Surface Manager:显示子系统管理.
- LibWebCore:最新的Web浏览器引擎.
- SGL:底层2D图形引擎.
- 3D libraries:基于OpenGL ES 1.0 APIs,支持3D硬件加速和软加速.
- FreeType:位图和矢量字体显示.
- SQLite:数据库引擎.
- 应用程序的组成
- Activity:手机屏幕的一屏显示.进入一个新的activity,会将前面的activity压入历史堆栈.Activity有一个产生->运行->销毁的生命周期.Intent用来实现不同activity之间的跳转,其是一次操作的抽象描述.Intent Filters描述Activity可以操作哪些Intent,一般定义在AndroidManifest.xml.
- Broadcast Intent Receiver:用来对于外部事件做出响应,不能生成UI,通过NotificationManager通知用户,可在AndroidManifest.xml注册,也可通过Context.registerReceiver()注册,应用可以通过Context.sendBroadcast()进行广播.
- Service:一个服务类似于守护进程,通过startService(Intent service),通过Context.bindService()绑定.
- Content Provider:一个用于实现程序间数据交换的一组标注方法接口的类.
- 应用工程文件组成
- 源文件(src):包含Activity.
- R.java文件:由Eclipse生成和修改,不用管.
- Android Library:
- assets目录:存放多媒体文件.
- res目录:资源文件.
- drawable目录:图片资源.
- layout目录:布局文件,均为xml.
- values目录:放置字符串(strings.xml),颜色(colors.xml),数组(arrays.xml).
- AndroidManifest.xml:应用的配置文件.