android简介
l android简介:
android是google于2007年11月05日宣布的基于Linux平台的开源手机系统。该平台有操作系统,中间件,用户界面和应用软件组成。
Android 号称是首个为移动终端打造的真正开放和完整的移动软件。 Google通过与软、硬件开发商、设备制造商、电信运营商等其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。
为了推广Android平台技术,Google和几十个手机相关企业建立了开放手机联盟(Open Handset Alliance)。 联盟成员包括摩托罗拉(Motorola)、HTC、Samsung、LG、Intel、nVdia、SiRF、Skype、KUPA Map 、MTK 以及中国移动在内的众多技术和无线应用的领军企业,都将基于该平台开发手机的新型业务,应用之间的通用性和互联性将在最大程度上得到保持。相关企业的加盟,也将大大降低新型手机设备的研发成本,完全整合的“全移动功能性产品”成为“开放手机联盟”的最终目标。
l android 的特征
使组件可重用、易于替换的应用程序框架
针对移动设备优化的 Dalvik 虚拟机
基于开源的 WebKit 引擎的内置浏览器
优化的2D图形类库;3D图形处理基于OpenGL ES 1.0 规范
用于机构化数据存储的 SQLite 数据库
对常用音频、视频和图像媒体格式的支持(MPEG4、MP3、AAC、JPG、PNG、GIF等)
GSM 通话(需要硬件支持)
蓝牙、EDGE、3G、WiFi功能 (需要硬件支持)
照相、GPS、定位、速度计功能(需要硬件支持)
丰富的开发环境,包括设备模拟器、调试工具、内存和性能监控以及Eclipse IDE插件
android盈利模式:
1.在android电子市场出售软件所得(30%用于电子市场的维护费用,剩余为程序员所得)
2.软件中植入广告的收入(如果你是程序员推荐用这种方式挣外快)
l android体系结构:
u applications:
android发行时自带一组核心的应用程序,包含email客户端,SMS程序,日历,地图,通讯录等,这些程序都是用java语言开发的
u application Framework:
位于本机类库和运行时上面的是应用程序框架层。该层提供了在创建应用程序时需要使用各种高级构建块。主要包含以下几个重要部分
活动管理器:该管理器控制应用程序的生命周期,同时维护一个公共的"后退栈"提供用 户导航。
内容提供者:这些对象封转需要在应用程序之间共享的数据,如联系人信息。
资源管理器:资源是程序中涉及的任何非代码内容。
位置管理器:Android手机始终知道目前所处的位置
通知管理器:像收到短信,临近预约时间,临近状态报警,异常入侵等事件都何以通过 友好的方式通知用户。
u Libraries:
Android 包括一组 C/C++ 函数库来支持 Android 系统中的各个组件(C语言标准库、MediaFramework、SSL、SGL、OpenGL ES1.0、SQLite、Webkit、FreeType),这些函数库的功能通过 Android application framework 提供给开发者。
Android Runtime:Android 包括一组核心函数库来支持 Java 程序语言核心类库的大多数功能。每一个 Android 应用都运行在自己的进程中,并拥有自己的 Dalvik 虚拟机实例。Dalvik 虚拟机可运行的程序以“Dalvik Executable”文件的形式保存(.dex),这种文件格式为极小的内存使用进行过优化。Dalvik 虚拟机没有按照 Java 虚拟机规范来实现,两者并不兼容;Android 编程使用了 Java 语言,但在编译后还需要通过 dx 工具将程序所有的 class 文件转化为一个 dex 文件后才能被 Dalvik 虚拟机所使用。Dalvik 虚拟机有以下一些特征:
1. 专有的 .dex 文件格式
2. dex 优化
3. 基于寄存器
4. 每个应用运行在独立的虚拟机实例中;每个虚拟机实例拥有独立的进程空间
u Linux Kernel:
Android 依赖于 Linux 2.6 内核提供的核心系统服务,例如安全性、内存管理、进程管理、网络访问和设备驱动等。同时 Linux 内核也充当了底层硬件和软件叠层之间的抽象层。
l Application Framework
在Android SDK 中包含了核心功能Java包,例如java.lang、java.io、java.util、java.text等等,用法与在其他 Java 程序开发时一样
特定于 Android 功能,在 SDK 中也提供了一系列以 android 开头的jar包,比较重要的有:
android.app Android 应用程序模型
Android.content 访问和发布 Android 中的数据
Android.net 包含Uri类,用于访问各种内容
Android.graphics 图形基本元素
Android.opengl OpenGL开发
Android.os 提供对 Android 系统环境的访问
Android.provider 与 ContentProvider 相关的类
Android.telephony 提供电话功能
Android.text 文本布局
Android.util 实用工具集合
Android.view 用户视图组件
Android.webkit 提供浏览器功能
Android.widget 其他 UI 元素