
1.3 Android SDK
1.3.1 Android SDK基础
Android SDK(Software Development Kit)提供在Windows/Linux/Mac平台上开发Android应用的组件,其中包含在Android平台上开发移动应用的各种工具集,不仅有Android模拟器和用于Eclipse的Android开发插件ADT,而且有各种用于调试、打包和在模拟器上安装、应用的工具。
Android SDK主要以Java语言为基础。通过SDK提供的一些工具,将其打包成Android平台使用的apk文件,然后使用SDK中的模拟器(Emulator)来模拟和测试该软件在Android平台上运行的情况和效果。
1.3.2 Android SDK目录结构
Android SDK 1.1的目录结构如图1-2所示。

图 1-2
Android SDK 1.5的目录结构如图1-3所示。

图 1-3
(1)Add-ons目录下的google_apis3提供的API包,主要包括API Documentation.html和docs目录下的文档
(2)RELEASE_NOTES.html是SDK的发布说明。
(3)usb_driver目录下包含amd64和x86的驱动文件。
(4)Tools目录下包含一些通用的工具文件。
(5)在Platforms目录下,针对每个版本的SDK,提供了对应的API包及其示例。
① android.jar是包含全部API的压缩包;
② samples目录下是SDK附带的一些示例;
③ skins 目录下是其支持的几种外观像素;
④ templates目录下是一些常用的文件模板;
⑤ tools目录下是一些常用的辅助工具。
1.3.3 Android. jar及内部结构
Android.jar是一个标准jar压缩包,其内部是编译后的class文件,包含全部的API,结构如图1-4所示。

图 1-4
通过图1-4可以了解其模块的划分和结构,有助于用户阅读和查找SDK文档。
1.3.4 Android API核心开发包
SDK参考文档是按照包结构组织的,以便用户很清晰地看到API的结构。其核心包中的模块主要包括以下内容。
(1)android.app:提供高层的程序模型,提供基本的运行环境。
(2)android.content:包含各种访问和发布设备上的数据的类。
(3)android.database:通过内容提供者浏览和操作数据库,包含底层API处理数据库。
(4)android.graphics:底层图形库,包含画布,通过过滤、点、矩形,将图形直接绘制到屏幕上,并作为核心渲染包,提供图形渲染功能。
(5)android.location:定位和提供相关服务的类。
(6)android.media:提供外挂多种音频、视频等媒体接口的类。
(7)android.net:通过的java.net.*接口,提供帮助网络访问的类。
(8)android.os:提供系统服务、消息传输和进程间通信(IPC)。
(9)android.provider:提供访问Android内容提供者的类。
(10)android.telephony:提供与拨打电话相关的API交互。
(11)android.view:提供基础的用户界面接口框架。
(12)android.util:涉及工具性的方法,例如时间、日期的操作。
(13)android.widget:包含各种UI元素(大部分是可见的),在应用程序的屏幕中使用。
(14)android.webkit:包含一系列基于Web内容的API。
1.3.5 Android SDK 1.5的新特性
1.系统方面
(1)采用当时最新的Linux内核2.6.27版本。
(2)精简了用户界面。
(3)拥有全新的视频录制功能,可以上传视频到Youtube,上传照片到Picasa。
(4)支持软键盘。
(5)支持中文显示和中文输入。
(6)拥有桌面Widget。
(7)浏览器增加了多点触摸功能。
2.开发方面
(1)SDK中包含Android平台的多个版本(1.1版和1.5版)。
(2)引入了Android Virtual Devices(AVD),使之在模拟器上运行更接近于真机。每个AVD有自己的存储卡空间,更易于开发运行多个模拟器。
(3)SDK支持插件(add-on),以便扩充SDK,使其访问多个外部Android库,在模拟器内运行定制系统的系统映像。
(4)新的ADT 0.9版 增加了JUnit等功能。
(5)性能分析更加便利。
(6)更易于实现本地化资源管理。
(7)新的android工具代替了activitycreator脚本。
通过以上对Android SDK文档的介绍,分析了android.jar文件,读者应该大致了解了其内部API的结构和组织方式。如果想深入了解各个文件包含的API及其用法,必须学会阅读和查找SDK文档。读者使用浏览器打开SDK目录下的documentation.html文件,可详细阅读其内容。