1.3 使用Android SDK开发Android应用
1.3.1 Android SDK目录结构
安装完成后,Android SDK的安装目录中包含了add-ons、docs、platforms、platforms-tools、samples、temp、tools和usb_driver等子目录。
下面介绍Android SDK这些目录的作用。
(1)add-ons目录中保存着附加库,如Google Maps。如果安装了Ophone SDK,这里也会有一些类库。
(2)docs目录存放了Android SDK API参考文档,所有的API都可以在这里查到。
(3)platforms是每个平台的SDK真正的文件,里面会根据API Level将SDK归档到对应的目录中。以Android 2.2为例,进入该目录后,有一个名为android-8的目录,Android 2.2 SDK的主要文件就存放在这个目录下。在这个目录下,ant为ant编译脚本;data保存着一些系统资源;images是模拟器映像文件;skins则是Android模拟器的皮肤;templates是工程创建的默认模板;android.jar则是该版本的主要framework文件;tools目录里面包含了重要的编译工具,比如aapt、aidl、逆向调试工具dexdump和编译脚本dx。
(4) platform-tools保存着一些通用工具,比如adb和aapt、aidl、dx等文件,Android123提示,这里和platforms目录中的tools子目录有些重复,主要是从android 2.3开始这些工具被划分为通用了。
(5)samples是Android SDK自带的默认示例工程,里面的apidemos强烈推荐初学者运行学习,例如使用SQLite数据库开发的NotePad实例、贪吃蛇(Snake)、月球登陆器(LunarLander)等实例。
(6)temp为下载SDK时的缓存目录。
(7)tools目录作为SDK根目录下的目录,该目录包含了Android开发和调试的重要工具。其中包括用于启动Android调试工具的ddms、获取日志的logcat、屏幕截图和文件管理器,还包括绘制Android平台的可缩放png图片的工具draw9patch、可以在PC上操作SQLite数据库的sqlite3、压力测试工具monkeyrunner、模拟器SD映像的创建工具mksdcard及Android模拟器Emulator。
注意
从Android 1.5开始,需要输入合适的参数才能启动模拟器Emulator。
1.3.2 使用Android SDK文档
就像C++开发需要通过MSDN来查看开发文档一样,在进行Android开发之前,也需要相应的开发文档。为了便于开发人员查阅帮助文档,Android提供了类似于MSDN的帮助文档。具体的使用步骤如下:
(1)打开sdk下载帮助文档目录。
(2)使用浏览器打开index.html,打开后在上面的导航Tab按钮里面单击Dev-Guide (开发向导)链接。这个页面左边的链接中基本包括了Android开发入门的介绍。如User Interface(用户界面)→declaring Layout(声明布局)就包括了对布局文件的使用和介绍。
(3)在Index页面中,开发人员主要使用的是Reference标签。通过Reference标签可以查看Android提供的类的方法和属性定义。单击Reference,会列出所有Android开发中常用的包和类的属性方法。
注意
Android的开发文档存放在Android安装目录的docs目录下。
1.3.3 Android SDK中的示例
在Android安装目录的samples目录下,存放了几个经典的Android实例。初学者可以通过这些实例学习如何开发一个完整的Android程序。
这些实例如下所示。
(1)BluetoothChat:蓝牙聊天的实例程序。
(2)ContactManager:手机通信录的实例程序。
(3)CubeLiveWallpaper:动态壁纸的实例程序。
(4)GestureBuilder:手势库建立的实例程序。
(5)JetBoy:打陨石的实例程序。
(6)LunarLander:月球登陆器的实例程序。
(7)NotePad:基于SQLite的笔记本实例程序。
(8)SampleSyncAdapter:账号验证和同步的实例程序。
(9)Snake:贪吃蛇游戏的实例程序。
可以通过Eclipse导入这些程序,之后分析并运行这些实例。
1.3.4 使用Android SDK命令行
Android SDK提供的操作都定义在Android安装目录的tools目录下。该目录包含了Android开发和调试的重要工具。其中包括用于启动Android调试工具的ddms、获取日志的logcat、屏幕截图和文件管理器。为了在任何目录中都可以使用这些工具,需要将tools目录加到PATH环境变量中。
Android SDK的命令行操作是开发过程中必不可少的操作,下面介绍几个常用的命令行操作。
1. 启动和关闭ADB服务
adb kill-server //关闭ADB服务 adb start-server //启动ADB服务
注意
模拟器在运行一段时间后,ADB服务有可能会出现异常。这时需要重新对ADB服务关闭和重启来恢复该服务。
2. 查询当前模拟器/设备的实例
adb devices
3. 安装、卸载和运行程序(adb install、adb uninstall和am)
adb install package //安装package指定的程序 adb uninstall package//卸载package指定的程序
注意
在卸载应用程序时可以加上-k命令行参数,该参数的目的是要求系统只卸载应用程序,而保留数据和缓冲目录。例如:
adb uninstall -k package
4. 创建、删除和浏览AVD设备(android)
建立AVD设备的命令如下:
android create avd -n myandroid1.5 -t 2
/*其中myandroid1.5表示AVD设备的名称,该名称可以任意设置,但不能和其他AVD设备冲突。 -t 2中的2指建立Android 1.5的AVD设备,1表示Android 1.1的AVD设备,依此类推。*/
1.3.5 使用Android模拟器
在Android SDK 1.5版本以后的Android开发中,必须创建至少一个AVD(Android Virtual Device,Android虚拟设备)。每个AVD模拟了一套虚拟设备来运行Android平台,这个平台至少要有自己的内核、系统图像和数据分区,还可以有自己的SD卡和用户数据,以及外观显示等。所以在Android SDK安装完成之后,必须创建AVD,才能够使用SDK来开发和运行Android应用程序。
在Android SDK中创建一个新的AVD的步骤如下:
(1)在“Android SDK and AVD Manager”窗口的左侧选择“Virtual Devices”选项,将显示如图1-7所示的AVD管理窗口。
图1-7 AVD管理窗口
(2)单击“New”按钮,将弹出如图1-8所示的创建新的AVD窗口。在“Name”文本框中输入新创建的AVD的名字,在“Target”下拉列表框中选择目标平台版本规范,在“SD Card”区域中设置模拟的SD卡的容量大小,在“Hardware”区域中设置模拟的硬件设备的属性参数。
图1-8 创建新的AVD窗口
(3)设置完成后,单击“Create AVD”按钮。AVD创建成功后,将会出现在如图1-9所示的现存的AVD列表中。
图1-9 现存的AVD列表
(4)单击“Start”按钮,将启动AVD。AVD首次运行较慢,需要几分钟的时间。当显示如图1-10所示的Android手机模拟器界面时,表示AVD运行成功。
图1-10 Android模拟器运行界面