阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

老司机
查看: 967|回复: 0

[转帖] 《Android Dev Guide》系列教程1:什么是Android?

[复制链接]
  • TA的每日心情
    开心
    2012-3-7 10:15
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2012-1-12 09:22:02 | 显示全部楼层 |阅读模式
    动设备的软件集,他包括一个操作系统、中间件,和一些重要的应用程序。AndroidSDK提供了Android开发平台的必要的工具和APIs,他使用Java编程语言。
    特点:
    应用程序框架:支持组件的重用和替换。
    Dalvik虚拟机:转为移动设备优化的虚拟机。
    集成的浏览器:基于开源浏览器WebKit引擎。
    优化的图形图像处理:采用定制的2D图形库,基于OpenGL ES1.0规范,可选的硬件加速。
    SQLite:结构化的数据存储。
    媒体支持:支持厂家爱呢的音频视频,如MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF。

    GSM技术:硬件依赖。
    蓝牙、EDGE网络、3G、WIFI:硬件依赖。
    拍照、导航、指南针、加速度计:硬件依赖。
    丰富的开发环境:包括一个虚拟器、调试工具、内存和性能分析、Eclipse插件。
    Android 系统结构:
    下面那张图表显示了Android操作系统的主要部件,每一部分将会详细讲解

    应用程序
    Android 将会有一些核心的应用,比如邮件客户端、SMS程序、计算器、地图、浏览器、联系人等等。所有的应用程序都用Java语言开发。
    应用层
    通过提供一个开源的平台,Android可以让开发者自由的开发丰富、创新的应用程序。开发者可以免费利用设备的硬件,访问本地信息、启动后台服务、设置闹铃、给状态栏增加提醒功能,等等灰常多的应用。
    开发人员通过核心应用程序,可以完全访问同一框架的APIs。(?)[开发者对于框架APIs的访问有与核心程序同样的权限(楼下whyou指正,表示感谢)]。结构化的应用框架为了提高组件的客服用性而设计。任何程序都可以公布他的功能让其他程序来调用(在框架许可的前提下)。相同的机制允许用户替换掉某些功能。
    和所有程序相关的是一些服务和系统,包括:
    一些丰富的可扩展视图:可以用来构造应用程序,包括列表、表格、输入框、按钮、可以写内置的浏览器。
    内容提供:可以让程序访问其他程序的数据,例如联系人列表,或者共享自己的数据。
    资源管理器:提供访问非代码的资源的方法,例如本地化的一些字符串、图像、布局文件。
    一个提示管理器:可以让程序在状态栏显示自定义的提示信息。
    一个Activity管理器:管理activity的生命周期并且提供一个公共的导航功能。
    更多详细信息可以通过一个例子来学习:参考 Noteoad Tutorial。
    Libraries:
    Android包含了一些系统各个部分使用到的C/C++库,通过Android应用程序程序框架,这些功能对于开发者来说是公开的,部分核心库如下:
    系统C库:一个继承自BSD的标准C系统库,专门为了嵌入式Linux设为。
    多媒体库:基于 PacketVideo's OpenCORE库,支持播放和录制一些主流的音频视频格式,像静态图片文件,包括MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG格式。
    Su**ce Manager(图形管理器):管理显示子系统,在多个应用程序里无缝综合2D和3D图层。
    LibWebCore:一个流行的web浏览器引擎,供Android浏览器和内置的浏览view使用。
    SGL:一个底层的2D图像引擎。
    3D库:基于OpenGL ES 1.0 的3D图像引擎。包括硬件加速和优化过的3D软件加速。
    FreeType:位图和矢量字体的渲染(rendering)。
    SQLite:一个强大的轻量级的数据库引擎对所有程序提供使用。
    Android 运行时库:
    Android包含了Java语言的大部分的核心库。
    每一个Android应用程序运行在自己的线程里,有自己的dalvik虚拟机实例,Dalvik虚拟机被重写用来支持在一个移动设备上支持多个虚拟机。Dalvik虚拟机执行文件(.dex)被优化的内存占用很小。VM是基于寄存器,并且通过Java语言编译器运行由class文件转换的.dex文件,通过内置的dx工具。
    Dalvik虚拟机依赖Linux核心,来管理线程和底层的内存管理。
    Linux kernel:
    Android 依赖Linux2.6内核作为核心系统服务,像安全、内存管理、进程管理、网络堆、驱动模型。Kernel扮演者一个软硬件之间的抽象层的角色。

    楼主热帖
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表