第一章 什么是Android
Android是移动设备的软件栈,包括操作系统、中间件和关键应用,Android SDK为在Android上开发应用提供了工具和API接口,它使用Java作为编程语言。特性:
1. 应用框架保证了组件的可重用性和可替换性。 2. Dalvik虚拟机为移动设备做了优化。 3. 集成的浏览器基于开源的Webkit引擎。 4. 客户化的2D图形库优化了图形处理,具有基于OpenGL ES1.0规格的3D图形库(硬件加速可选)。 5. SQLite为结构化的数据存储提供了保障。 6. 丰富的多媒体支持,包括公共的声音、视频和静态图像(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)。 7. GSM通话(需要硬件支持)。 8. 蓝牙、EDGE、3G和WiFi支持(需要硬件支持)。 9. 相机、GPS、compass搜索引擎、加速记支持(需要硬件支持)。 10. 丰富的开发环境:设备仿真器、开发工具链、调试工具链、内存和性能仿真、EClipse IDE插件等等。Android结构:
下图显示了Android操作系统的主要组件。下面有每一部件的更细致的描述:Applications:
Android配备了核心应用集:包括email客户端、SMS程序、计算器、电子地图、浏览器、联系人编辑器等等,所有应用的代码都用Java语言编写。Application Framework:
开发者完全能够访问核心应用所使用的相同的框架API,应用架构设计简化了组件的重用,任何应用都可以开放它的能力集,并且其他应用可以使用这些能力集(框架增加了安全性),同样,用户可以替换所有的组件。 下面的应用都包含在服务和系统中: 1. 一个丰富而且可扩展的View集能够用于建立应用,包括lists, grids, text boxes, buttons, 甚至一个嵌入式的浏览器。 2. Content Provider可以让应用访问其他应用的数据、或者共享自己的数据给其他应用。 3. Resource Manager用于访问非代码资源,例于访问本地化的字符串、图像、和布局文件。 4. Notification Manager能够让所有应用在状态条显示客户化的告警。 5. Activity Manager管理应用的生命周期,并且提供一个公共的导航栈。Libraries:
Android提供一个C/C++库用于各个Android系统组件,这些库通过应用框架向开发者开放。下面是一些核心库: 1. 系统C库:一个继承于BSD的标准C库(libc),基于嵌入式Linux做了一些微调。 2. 媒体库:基于PacketVideo的OpenCORE,这个库能够对流行的音视频格式、静态图像格式进行回放和记录,包括MPEG4, H.264, MP3, AAC,AMR, JPG, 和PNG等。 3. 皮肤管理:管理显示子系统,并且无缝组合2D/3D图形层。 4. Web核心库:流行的web核心引擎。 5. SGL: 2D图形引擎。 6. 3D库:基于OpenGL ES 1.0 API实现,既可以3D硬加速,也可以3D软加速。 7. FreeType: 支持位图和向量字体。 8. SQLite: 一个强有力的、轻量级的数据库引擎。
没有评论:
发表评论