![精通Android:网络开发](https://wfqqreader-1252317822.image.myqcloud.com/cover/799/22690799/b_22690799.jpg)
第1篇 基础知识篇
第1章 Android技术概述
Android是一种移动智能设备(手机、平板电脑等)操作系统,是建立在Linux开源系统基础之上的,能够为企业和开发人员迅速建立移动智能设备软件的解决方案。虽然Android外形比较简单,但是其功能十分强大,已经成为当前软件开发的一股新兴力量。从2011年开始到现在,Android一直占据全球智能手机操作系统市场占有率第一的宝座。本章将简单介绍Android的发展历程和背景,并介绍搭建Android应用开发环境的基本知识,为读者步入本书后面知识的学习打下基础。
1.1 智能手机系统介绍
在Android系统诞生之前,智能手机这个新鲜事物大大丰富了人们的生活,得到了广大手机用户的青睐。各大手机厂商在利益的驱动之下,纷纷建立了各种智能手机操作系统用以占领市场。Android系统就是在这个风起云涌的历史背景下诞生的。
1.1.1 何谓智能手机
智能手机是指具有像个人计算机(俗称个人电脑)那样强大的功能,拥有独立的操作系统,用户可以自行安装应用软件、游戏等第三方服务商提供的程序,并且可以通过移动通信网络接入到无线网络中。在Android系统诞生之前已经有很多优秀的智能手机产品,例如家喻户晓的Symbian系列和微软的Windows Mobile系列等。
一般来说,智能手机必须具备如下所示的功能:
(1)操作系统必须支持新应用的安装;
(2)芯片拥有高速度处理的能力;
(3)可以播放各种音频和视频文件;
(4)具有大存储芯片和存储扩展能力;
(5)支持GPS导航。
根据上述标准,手机联盟公布了智能手机的主要特点,具体说明如下所示:
(1)具备普通手机的所有功能,例如拨打、接听电话和收发短信等;
(2)是一个开放性的操作系统,在系统上可以安装第三方应用程序,从而实现功能的无限扩充;
(3)具备上网功能,如可以浏览网页;
(4)具备PDA的功能,例如能够实现个人信息管理、日程记事、任务安排、多媒体应用、浏览网页等功能;
(5)扩展性能强,可以根据个人需要扩展机器的功能。
1.1.2 Android 5.0的突出变化
2014年10月15日,谷歌发布Android 5.0版本,并在26日提供给开发者下载开发包,如图1-1所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0014_0001.jpg?sign=1739281016-DavuzYSjiOdMq1mccKt274ARBC71Q9B0-0-fac568166708d91182a0c3bbd857fc74)
图1-1 谷歌推出Android 5.0
和以往版本相比,Android 5.0版本的最突出特性如下所示。
(1)“Material”主题
Android工程负责人Dave Burke表示,开发者在开发新应用时可选择一个被称为“Material”的主题,该主题支持新的动画效果、实时3D阴影显示以及其他多项新功能;在Demo中,他使用了拨号界面做介绍,所有的操作都十分流畅;随后Dave Burke介绍了新的强化的通知中心,通过下滑操作,可以看到所有的通知;然后,其开始利用游戏介绍新的消息系统Heads Up,玩游戏时,如果有电话拨打进来,屏幕顶端会出现一个通知框,如果向左右滑动手指,则可以忽略来电,这样的设计能尽量保证不打断用户的当前操作。
(2)新Android Wear发布
Android工程部总监David Singleton介绍了穿戴设备相关开发。Singleton通过LG G Watch智能手表展示Android Wear系统,智能手表通过振动提醒穿戴者有消息、来电。用户可上下滑动屏幕来翻页通知内容。
完整的Android Wear SDK将会发布,其API与标准版Android API基本一致,开发人员移植应用不存在难度。Android Wear SDK会自动同步通知到Android,开发者可以开发语音回复和页面回复的应用程序。
(3)Android TV发布
Android TV是一套可用于电视机顶盒的系统,有相应的SDK。Android TV需要一个D Pad来进行语音控制,其支持HDMI和接收器等视频信号输入。系统本身是覆盖在视频之上的,如搜索菜单、控制菜单等。Android TV的核心优势是搜索(基于Google Now)。用户可以用Android Wear智能手表设备来控制Android TV。Android TV支持谷歌Cast技术,也就是说用户可以通过这个系统把电视当作Chromecast电视棒使用。谷歌Play也专门开辟了Android TV应用类别。
(4)Android Auto系统发布
谷歌发布Android Auto系统,面向未来汽车市场。Android Auto的核心将是导航、通信和音乐。当Android智能手机与Android Auto系统连接时,手机屏幕能投射到车载屏幕上。Android Auto可以进行环境感知和语音控制,它的主界面与谷歌Now并无二致。虽然Android Auto可以被看作是基于Android系统的车载GPS,但考虑到谷歌Now自然语言搜索的强大性能,“人车对话”则达到了一个新的高度。
(5)全新设计的通知系统
Android 5.0带来了全新的通知系统。除了界面有较大改变之外,谷歌还调整了通知中心的信息展示规则——最重要的信息将被显示出来,而次要信息则是会被隐藏。当然,如果需要查看全部信息,则继续向下滑动即可——有些类似展示一叠扑克牌的手法,也就是用户首先看到的是表面上的一张牌,然后滑动,这样一来隐藏在下方的扑克牌就会展示出来。
1.2 搭建Android应用开发环境
“工欲善其事,必先利其器”出自《论语》,意思是要想高效地完成一件事,需要有一个合适的工具。对于安卓开发人员来说,开发工具同样至关重要。作为一项新兴技术,在进行开发前首先要搭建一个对应的开发环境。而在搭建开发环境前,需要了解安装开发工具所需要的硬件和软件配置环境。
1.2.1 安装Android SDK的系统要求
在搭建开发环境之前,一定要先确定基于Android应用软件开发所需要的环境,具体如表1-1所示。
表1-1 开发系统所需环境参数
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0015_0001.jpg?sign=1739281016-o3T3P025iFgIEPdyWq3ZBwmR6LwVVXHl-0-6f71ad3b7646a0c27ab202ee74f865e7)
Android工具是由多个开发包组成的,具体说明如下所示。
· JDK:可以到网站http://java.sun.com/javase/downloads/index.jsp上下载。
· Eclipse(Europa):可以到网站http://www.eclipse.org/downloads/上下载Eclipse IDE for Java Developers。
· Android SDK:可以到网站http://developer.android.com上下载。
1.2.2 安装JDK
JDK(Java Development Kit)是整个Java的核心,包括了Java运行环境、Java工具和Java基础的类库。JDK是学好Java的第一步,是开发和运行Java环境的基础,当用户要对Java程序进行编译时,必须先获得对应操作系统的JDK,否则将无法编译Java程序。在安装JDK之前需要先获得JDK,获得JDK的操作流程如下所示。
(1)登录Oracle官方网站,网址为http://developers.sun.com/downloads/,如图1-2所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0015_0002.jpg?sign=1739281016-Ohf0iRO4FyFXwoCFz31VDDasz9kKpSQ9-0-415ec4c4c5a907b96d2b8e0ecd3f69d5)
图1-2 Oracle官方下载页面
(2)在图1-2中可以看到有很多版本,如选择Java 7版本,下载页面如图1-3所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0015_0003.jpg?sign=1739281016-ra9TTdsXlWtd1nu2W85b8eRQnxCaVoJ3-0-a1f632e17d2dc73b714b31aea4264d5d)
图1-3 JDK下载页面
(3)在图1-3中单击JDK下方的【Download】按钮,在弹出的新界面中选择将要下载的JDK,作者在此选择的是Windows X86版本,如图1-4所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0016_0001.jpg?sign=1739281016-epaJ09hVDZvHGLGSsZcSlN2ywxQUMxJh-0-9c03fdeb0f4022158586096f50862db1)
图1-4 选择Windows X86版本
(4)下载完成后双击下载的“.exe”文件开始进行安装,将弹出“安装向导”对话框,在此单击【下一步】按钮,如图1-5所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0016_0002.jpg?sign=1739281016-Gz8wYlQXgGPMCcUL0fKLDJ6u9B56AclK-0-00171d720f72a389eaf075db017ef3fc)
图1-5 “安装向导”对话框
(5)弹出“自定义安装”对话框,在此选择文件的安装路径,如图1-6所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0016_0003.jpg?sign=1739281016-OqlkclDk5GjUUtoGh0v69kECJL6EUase-0-52bc548f221c40c6107c32ca491e0bc2)
图1-6 “自定义安装”对话框
(6)在此设置安装路径是“C:\Program Files\Java\jdk1.7.0_01\”,然后单击【下一步】按钮开始在安装路径下解压缩下载的文件,如图1-7所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0016_0004.jpg?sign=1739281016-7dnCmEXNAbLFysSXfH31QobKEVnHY5G4-0-824f71bc1dbb800c2cb318ab8772db76)
图1-7 解压缩下载的文件
(7)完成后弹出“目标文件夹”对话框,在此选择要安装的位置,如图1-8所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0016_0005.jpg?sign=1739281016-GeXnUDL8ax5fdGiBuCKKomZwGZEfXYnY-0-c2dcc251e5c8088370b0030524e7602e)
图1-8 “目标文件夹”对话框
(8)单击【下一步】按钮后开始正式安装,如图1-9所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0016_0006.jpg?sign=1739281016-ZmHMgaIP3aBJhNgLdcZi4o3fjG4daDJj-0-18b8a6452ffd6e35b9264a35b48eadf2)
图1-9 继续安装
(9)完成后弹出“完成”对话框,单击【完成】按钮后完成整个安装过程,如图1-10所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0017_0001.jpg?sign=1739281016-ZPuefinzfOmXrAHSktCAzNion4CwbsRP-0-7f5675d08802da9c6c1151b1ea3c1498)
图1-10 完成安装
完成安装后可以检测是否安装成功,检测方法是依次单击【开始】|【运行】,在运行框中输入“cmd”并按下回车键,在打开的CMD窗口中输入“java -version”,如果显示图1-11所示的提示信息,则说明安装成功。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0017_0002.jpg?sign=1739281016-vWEMZxMQRaj9Zl6bf0ViWZ9LtPVBh0Fb-0-3b09e76961192415ef07287840dc1f32)
图1-11 CMD窗口
注意
完成安装后可以检测是否安装成功,方法是依次单击【开始】|【运行】,在运行框中输入“cmd”并按下回车键,在打开的CMD窗口中输入“java -version”,如果显示图1-12所示的提示信息,则说明安装成功。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0017_0004.jpg?sign=1739281016-c5cA54BewC59IM3vjA3spmo0rYQjHKrS-0-96ed32797f6b808b2de2a3d8b9fec8df)
图1-12 CMD窗口
如果检测没有安装成功,需要将其目录的绝对路径添加到系统的PATH中。具体做法如下所示。
(1)右键依次单击【我的电脑】|【属性】|【高级】,单击下面的【环境变量】按钮,在下面的“系统变量”处选择【新建】按钮,在变量名处输入“JAVA_HOME”,变量值中输入刚才的目录,如设置为“C:\Program Files\Java\jdk1.7.0_01”,如图1-13所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0017_0005.jpg?sign=1739281016-0bpl5a3OR78lMjmSLQuuoUxCIk7nTPMw-0-0b8961c968a455c9dc655828822809c4)
图1-13 设置系统变量
(2)再次新建一个变量名为classpath,其变量值如下所示。
.; %JAVA_HOME%/lib/rt.jar; %JAVA_HOME%/lib/tools.jar
单击【确定】按钮找到PATH的变量,双击或单击【编辑】按钮,在变量值最前面添加如下值。
%JAVA_HOME%/bin;
具体如图1-14所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0017_0006.jpg?sign=1739281016-2QlopSZEOeE35lmUzaBfMQu2kOqVOhhC-0-87209dd58e0f3d4955563c5aad5540cf)
图1-14 设置系统变量
(3)再依次单击【开始】|【运行】,在运行框中输入“cmd”并按下回车键,在打开的CMD窗口中输入“java -version”,如果显示图1-15所示的提示信息,则说明安装成功。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0017_0007.jpg?sign=1739281016-KjJvRo6elUsNKe1VtyULlpKdJfmv7yAs-0-8ca3abf7896620cb85cda26259932c35)
图1-15 CMD界面
注意
上述变量设置中,是按照作者本人的安装路径设置的,作者安装的JDK的路径是“C:\Program Files\Java\jdk1.7.0_01”。
1.2.3 获取并安装Eclipse和Android SDK
在安装好JDK后,接下来需要安装Eclipse和Android SDK。Eclipse是进行Android应用开发的一个集成工具,而Android SDK是开发Android应用程序必须具备的框架。在Android官方公布的最新版本中,已经将Eclipse和Android SDK这两个工具进行了集成,一次下载即可同时获得这两个工具。获取并安装Eclipse和Android SDK的具体步骤如下所示。
(1)登录Android的官方网站http://developer.android.com/index.html,如图1-16所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0018_0003.jpg?sign=1739281016-eHsSVq7BuFjrKFUrrLhLcNCcuOxUAzlt-0-2a5762f4e1d5c87641a69d7f34007b99)
图1-16 Android的官方网站
(2)单击图1-16左上方“Developers”右边的符号,在弹出的界面中单击“Tools”链接,如图1-17所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0018_0004.jpg?sign=1739281016-0XsZzdOzcD5eIl4GZAeIzRmFQcZw6rln-0-4d12415673956c280bd5c08c7de5db83)
图1-17 单击“Tools”链接
(3)在弹出的新页面中单击【Download the SDK】按钮,如图1-18所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0018_0005.jpg?sign=1739281016-Y0KGIZOP7vQ6v3mi0X78trdZk2lcengE-0-4605612e5bda0eb9a1af95e206e7294a)
图1-18 单击【Download the SDK】按钮
(4)在弹出的“Get the Android SDK”界面中勾选“I have read and agree with the above terms and conditions”前面的复选框,然后在下面的单选按钮中选择系统的位数,如作者的机器是32位的,所以选择“32-bit”前面的单选按钮,如图1-19所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0018_0006.jpg?sign=1739281016-dHIXke3OC2yRCE0tAMKIvib2Ihy1z4F9-0-79ae1abfd716eedb8a71c0dd7231facd)
图1-19 “Get the Android SDK”界面
(5)单击图1-19中的按钮后开始下载,下载的目标文件是一个压缩包,如图1-20所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0019_0001.jpg?sign=1739281016-UwJJP0wWofR4hORgDEn9sxhXKwlm51R9-0-bda9bd82e1d72cb3ed20bab65ab37494)
图1-20 开始下载目标文件压缩包
(6)将下载得到的压缩包进行解压,解压后的目录结构如图1-21所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0019_0002.jpg?sign=1739281016-9Fvt8Ek2iAPnwUVCHZvsrldhS7Jo0tEu-0-ffbe6615a2faf98cbf3a793b2079d07e)
图1-21 解压后的目录结构
由此可见,Android官方已经将Eclipse和Android SDK实现了集成。双击“eclipse”目录中的“eclipse.exe”可以打开Eclipse,界面效果如图1-22所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0019_0004.jpg?sign=1739281016-wuQfFXWJbx2phjudbK05g7NprAx4rJZJ-0-2e5b1626269b213286bc658307d83423)
图1-22 打开Eclipse后的界面效果
(7)打开Android SDK的方法有两种,第一种是双击下载目录中的“SDK Manager.exe”文件,第二种在是Eclipse工具栏中单击图标。打开后的效果如图1-23所示,此时会发现当前Android SDK的最新版本是Android 5.0(API 21)。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0019_0005.jpg?sign=1739281016-PhyASMFj1H8ooD8nFS6Db8InsDdu4Nlc-0-7cac097469f543de74f4018f1bf9c873)
图1-23 打开Android SDK后的界面效果
1.2.4 安装ADT
Android为Eclipse定制了一个专用插件Android Development Tools(ADT),此插件为用户提供了一个强大的开发Android应用程序的综合环境。ADT扩展了Eclipse的功能,可以让用户快速地建立Android项目,创建应用程序界面。要安装Android Development Tools plug-in,需要先打开Eclipse IDE,然后进行以下操作。
(1)打开Eclipse后,依次单击菜单栏中的【Help】|【Install New Software...】选项,如图1-24所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0019_0006.jpg?sign=1739281016-fi17wkCZsRJ4eRwL87fj7gBElNGLiUCC-0-6d05eee8659e28f6c8704f4afbd5b657)
图1-24 添加插件
(2)在弹出的对话框中单击【Add】按钮,如图1-25所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0019_0007.jpg?sign=1739281016-nS1qFAuEaOoGWaAooZ4sADLjKG9hCP4B-0-18897272394ce6cdccf45ecc9bc2f68d)
图1-25 添加插件
(3)在弹出的“Add Site”对话框中分别输入名字和地址,名字可以自己命名,如“123”,但是,在Location中必须输入插件的网络地址http://dl-ssl.google.com/Android/eclipse/,如图1-26所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0020_0001.jpg?sign=1739281016-KvzgGOMOksAfetC1ETqBMPDz2IvpUOca-0-383ae0d3ad7768606b64d7e9184bfa17)
图1-26 设置地址
(4)单击【OK】按钮,此时在“Install”界面将会显示系统中可用的插件,如图1-27所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0020_0002.jpg?sign=1739281016-UuIOb5HgwjXS099RCNuB4z1SIn325ZVV-0-e2da9c81fc1ce7b329dee4d0ee6aeeb4)
图1-27 插件列表
(5)勾选“Android DDMS”和“Android Development Tools”,然后单击【Next】按钮来到安装详情界面,如图1-28所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0020_0003.jpg?sign=1739281016-fuYFK7Hh8zE4T7y3RYkL2lY8PXkpHuA1-0-4c6f8c2adcc856be333e102c273d6e98)
图1-28 插件安装详情界面
(6)单击【Finish】按钮,开始进行安装,安装进度对话框如图1-29所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0020_0004.jpg?sign=1739281016-uzH8EVQEhjgOPuTFU9kjFmcBVBIqoBGi-0-57253bc731c2137df73aaf910fe78e61)
图1-29 开始安装
注意
在上个步骤中,可能会发生计算插件占用资源情况,过程有点慢,完成后会提示重启Eclipse来加载插件,等重启后就可以用了。并且不同版本的Eclipse安装插件的方法和步骤是不同的,但是都大同小异,读者可以根据操作提示自行解决。
1.2.5 设定Android SDK Home
当完成上述插件安装工作后,此时还不能使用Eclipse创建Android项目,还需要在Eclipse中设置Android SDK的主目录。
(1)打开Eclipse,在菜单中依次单击【Windows】|【Preferences】项,如图1-30所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0021_0001.jpg?sign=1739281016-fiKQD3tCNIH56Z94TAwLdPnyTfE1sXcR-0-7998c39d975a358851dc8b175cb27ef0)
图1-30 【Preferences】项
(2)在弹出的界面左侧可以看到“Android”项,选中Android后,在右侧设定Android SDK所在目录为SDK Location,单击【OK】按钮完成设置,如图1-31所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0021_0002.jpg?sign=1739281016-qM2z2cIKRBfjLSXILhlVykH5BuaMw6bZ-0-d4fb6c818e911809c78dd72c0be0808f)
图1-31 【Preferences】项
1.2.6 验证开发环境
经过前面的步骤,一个基本的Android开发环境算是搭建完成了。都说实践是检验真理的唯一标准,下面通过新创建一个项目来验证当前的环境是否可以正常工作。
(1)打开Eclipse,在菜单中依次选择【File】|【New】|【Project】项,在弹出的对话框中可以看到Android类型的选项,如图1-32所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0021_0003.jpg?sign=1739281016-x5CPLm6V0kSaDuZPXmifp1Yc1pXvC5iA-0-7555d17be7509e61e9d0ea0191a78692)
图1-32 新创建项目
(2)在图1-32中选择“Android”,单击【Next】按钮后打开“New Android Project”对话框,在对应的文本框中输入必要的信息,如图1-33所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0021_0004.jpg?sign=1739281016-wyNw4J6bXomci1DWR1QSgwGDZZfLGBp6-0-754315fc727e313c39217eaf66a03458)
图1-33 “New Android Application”对话框
(3)单击【Finish】按钮后Eclipse会自动完成项目的创建工作,最后会看到如图1-34所示的项目结构。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0021_0005.jpg?sign=1739281016-QNoNGEolL0sX5cW0KQndr4vkhIoHhoy7-0-0de953aaab157a8d912a648473e151de)
图1-34 项目结构
1.2.7 创建Android虚拟设备(AVD)
我们都知道程序开发需要调试,只有经过调试之后才能知道程序是否正确运行。作为一款手机操作系统,我们怎样能在电脑平台上调试Android程序呢?谷歌为我们提供了模拟器来解决这个问题。所谓模拟器,是指在电脑上模拟Android系统,可以用这个模拟器来调试并运行开发的Android程序。开发人员不需要一部真实的Android手机,只通过电脑可模拟运行一部手机,即可开发出在手机上面应用的程序。
AVD的中文名称为Android虚拟设备(Android Virtual Device),每个AVD模拟了一套虚拟设备来运行Android平台,这个平台至少要有自己的内核、系统图像和数据分区,还可以有自己的SD卡和用户数据以及外观显示等。创建AVD的基本步骤如下所示。
(1)单击Eclipse菜单中的图标,如图1-35所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0022_0002.jpg?sign=1739281016-iSMB0NOuer8VzkZqWOpVMa4yvcRXfhpN-0-b74c3d55e5925bd8a5945cd8f91933ee)
图1-35 Eclipse
(2)在弹出的“Android Virtual Device(AVD)Manager”界面的左侧导航中选择“Android Virtual Devices”选项,如图1-36所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0022_0003.jpg?sign=1739281016-EJxx4O0hIjEao0ffeSXJFRoXTk2fICrB-0-4843da5c893e2fd849859bc15e00abea)
图1-36 “Android Virtual Device(AVD)Manager”界面
在“Android Virtual Devices”列表中列出了当前已经安装的AVD版本,我们可以通过右侧的按钮来创建、删除或修改AVD。主要按钮的具体说明如下所示。
· :创建新的AVD,单击此按钮在弹出的界面中可以创建一个新AVD,如图1-37所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0023_0001.jpg?sign=1739281016-YdHTFPqUjyEY4jAMRCVGBd6XTcKVqT80-0-c41cd4f713bd75f4ab6a434138afa3e2)
图1-37 新建AVD界面
·:修改已经存在的AVD。
·:删除已经存在的AVD。
·:启动一个AVD模拟器。
· AVD Name:在此设置将要创建AVD的名字,可以用英文字符命名。
· Target Name:在此设置将要创建AVD的API版本,例如Android 2.3、Android 2.3、Android 4.0、Android 5.0等。
· Device:在此设置将要创建AVD的屏幕分辨率大小。
· CPU/ABI:用于设置当前机器的CPU。在开发低Android SDK版本应用程序时,使用的Android模拟器模拟的是ARM的体系结构(ARM-EABI),这个模拟器并不是运行在X86上,而是模拟的ARM,所以在调试程序时经常感觉到非常慢。针对这个问题,Intel推出了支持X86的Android模拟器,这将大大提高启动速度和程序的运行速度,这将允许Android模拟器能够以原始速度(真机运行速度)运行在使用Intel X86处理器的电脑中。所以,对于使用Intel X86电脑开发Android应用程序的开发者来说,建议在“CPU/ABI”中选择有“Intel”标识符的选项。
注意
我们可以在CMD中创建或删除AVD,如可以按照如下CMD命令创建一个AVD。
android create avd --name <your_avd_name> --target <targetID>
其中“your_avd_name”是需要创建的AVD的名字,CMD窗口界面如图1-38所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0023_0003.jpg?sign=1739281016-57QQTkO0fpLnyWqxVnTG3Befiq0Fn14h-0-6160d0b1a81f7561b4b09f75025daf7b)
图1-38 CMD界面
1.2.8 启动AVD模拟器
对于Android程序的开发者来说,模拟器的推出给开发者在开发和测试上带来了很大的便利。无论在Windows下还是Linux下,Android模拟器都可以顺利运行。并且官方提供了Eclipse插件,可以将模拟器集成到Eclipse的IDE环境。Android SDK中包含的模拟器的功能非常齐全,电话本、通话等功能都可正常使用(当然你没办法真地从这里打电话)。甚至其内置的浏览器和Maps都可以联网。用户可以使用键盘输入,鼠标单击模拟器按键输入,甚至还可以使用鼠标单击、拖动屏幕进行操纵。模拟器在电脑上模拟运行的效果如图1-39所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0024_0001.jpg?sign=1739281016-KEmmB81m6oEJTxRNapOGhbSfk5Kf2XmX-0-0ef6c5638323509e7bde901cf849340d)
图1-39 模拟器
注意
模拟器和真机究竟有何区别
当然Android模拟器不能完全替代真机,具体来说有如下差异:
· 模拟器不支持呼叫和接听实际来电,但可以通过控制台模拟电话呼叫(呼入和呼出);
· 模拟器不支持USB连接;
· 模拟器不支持相机/视频捕捉;
· 模拟器不支持音频输入(捕捉),但支持输出(重放);
· 模拟器不支持扩展耳机;
· 模拟器不能确定连接状态;
· 模拟器不能确定电池电量水平和交流充电状态;
· 模拟器不能确定SD卡的插入/弹出;
· 模拟器不支持蓝牙。
在调试的时候我们需要启动AVD模拟器,启动AVD模拟器的基本流程如下所示。
(1)选择图1-36列表中名为“first”的AVD,单击按钮后弹出“Launch Options”界面,如图1-40所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0024_0004.jpg?sign=1739281016-piWzlvcdIuVAAgWK9ye4bpvinrhUs53T-0-ff1d78770f0b58707a66e2bb78220a62)
图1-40 “Launch”对话框
(2)单击【Launch】按钮后将会运行名为“first”的模拟器,运行界面效果如图1-41所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0024_0005.jpg?sign=1739281016-UVYMmOaRtHBmZ9c9s61vNwvwaTnfEwtp-0-8f64167dc93e17d2c1a6c799718f545b)
图1-41 Android模拟器运行成功
技巧——快速安装SDK的方法
通过Android SDK Manager在线安装的速度非常慢,而且有时容易掉线。其实我们可以先从网络中寻找到SDK资源,用迅雷等下载工具下载后,将其放到指定目录完成安装。具体方法是先下载android-sdk-windows,然后在android-sdk-windows下双击setup.exe,在更新的过程中会发现安装Android SDK的速度是1Kbit/s,此时打开迅雷,分别输入下面的地址:
https://dl-ssl.google.com/android/repository/platform-tools_r05-windows.zip https://dl-ssl.google.com/android/repository/docs-3.1_r01-linux.zip https://dl-ssl.google.com/android/repository/android-2.2_r02-windows.zip https://dl-ssl.google.com/android/repository/android-2.3.3_r01-linux.zip https://dl-ssl.google.com/android/repository/android-2.1_r02-windows.zip https://dl-ssl.google.com/android/repository/samples-2.3.3_r01-linux.zip https://dl-ssl.google.com/android/repository/samples-2.2_r01-linux.zip https://dl-ssl.google.com/android/repository/samples-2.1_r01-linux.zip https://dl-ssl.google.com/android/repository/compatibility_r02.zip https://dl-ssl.google.com/android/repository/tools_r11-windows.zip https://dl-ssl.google.com/android/repository/google_apis-10_r02.zip https://dl-ssl.google.com/android/repository/android-2.3.1_r02-linux.zip https://dl-ssl.google.com/android/repository/usb_driver_r04-windows.zip https://dl-ssl.google.com/android/repository/googleadmobadssdkandroid-4.1.0.zip https://dl-ssl.google.com/android/repository/market_licensing-r01.zip https://dl-ssl.google.com/android/repository/market_billing_r01.zip https://dl-ssl.google.com/android/repository/google_apis-8_r02.zip https://dl-ssl.google.com/android/repository/google_apis-7_r01.zip https://dl-ssl.google.com/android/repository/google_apis-9_r02.zip …… 可以继续根据开发要求选择不同版本的API
下载完后将它们复制到“android-sdk-windows/Temp”目录下,然后再运行setup.exe,勾选需要的API选项,会发现立刻就安装好了。记得把原始文件保留好,因为放在temp目录下的文件装好后立刻就没有了。
1.2.9 解决搭建环境过程中的常见问题
搭建完成开发环境后,下面将总结在搭建Android SDK环境时出现过的问题,希望对广大读者有用。
1.不能在线更新
在安装Android后,需要更新为最新的资源和配置,但是,在启动Android后,经常会不能更新,弹出如图1-42所示的错误提示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0025_0001.jpg?sign=1739281016-EiyKVrwgQKqizoHqioYlBSXNssiXdRnt-0-b322aa9188932c64347083a753755c9d)
图1-42 不能更新
Android默认的在线更新地址是 https://dl-ssl.google.com/android/eclipse/,但是经常会出现错误。如果此地址不能更新,可以自行设置更新地址,修改为 http://dl-ssl.google.com/android/repository/repository.xml。具体操作方法如下:
(1)单击Android左侧的“Available Packages”选项,然后单击下面的【Add Site…】按钮,如图1-43所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0025_0002.jpg?sign=1739281016-L9oxX9fZN6hEfqbwwE8iHYkr9TyZzFHd-0-c07a6c379c258abca63317d0232fde60)
图1-43 “Available Packages”界面
(2)在弹出的“Add Site URL”对话框中输入下面修改后的地址,如图1-44所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0026_0001.jpg?sign=1739281016-6pOXm9trHJoN2Abo4humoqHeu1hgd3rA-0-cea728d565aaa63ff23d08583689fc0f)
图1-44 “Available Packages”界面
http://dl-ssl.google.com/android/repository/repository.xml
(3)单击【OK】按钮后完成设置工作,此时就可以使用更新功能了,如图1-45所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0026_0002.jpg?sign=1739281016-00h5VeAn3w3P4YvESQJcnrfsnlrRKyi8-0-898a3615d6d042820fe557018b1b0712)
图1-45 “Available Packages”界面
2.显示“Project name must be specified”提示
很多初学者在Eclipse中新创建Android工程时,经常会遇到显示“Project name must be specified”提示的问题,如图1-46所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0026_0003.jpg?sign=1739281016-NSG4hYEAAlM9vGQ9tICXFMThNlC6AKmG-0-361af39265a12177d224d598a1f2d0e7)
图1-46 “Available Packages”界面
造成上述问题的原因是Android没有更新完成,需要进行完全更新,具体方法如下所示。
(1)打开Android,选择左侧的“Installed Packages”选项,如图1-47所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0026_0004.jpg?sign=1739281016-IKYB4J1tDv7F33jSUT6MkZHByWshAEQ7-0-ab963c58d9ee52b0989e4ea88ff5b7bf)
图1-47 “Available Packages”界面
(2)右侧列表中选择“Android SDK Tools, revision 4”,在弹出窗口中选择“Accept”,最后单击【Install Accepted】按钮开始安装更新,如图1-48所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0027_0001.jpg?sign=1739281016-UWXdxBfvizjvKt2opkphwROmd70RdO7V-0-446fa247fd8a89bbf81dd13af6deea6f)
图1-48 “Available Packages”界面
3.Target列表中没有Target选项
通常来说,当Android开发环境搭建完毕后,在Eclipse工具栏中依次单击【Window】|【Preference】,单击左侧的“Android”项后会在“Preference”中显示存在的SDK Targets,如图1-49所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0027_0002.jpg?sign=1739281016-tke0oB3N5oI0BJFz9jkQb6h7C1SB1ax0-0-5f98bb907d2e3efba063650263fe831f)
图1-49 SDK Targets列表
但是往往因为各种原因,会不显示SDK Targets列表,并且在图1-49界面中也不显示,并输出“Failed to find an AVD compatible with target”错误提示。
造成上述问题的原因是没有创建AVD成功,此时需要手工安装来解决这个问题,当然前提是Android更新完毕,具体解决方法如下所示。
(1)在运行框中键入“cmd”,打开CMD窗口,如图1-50所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0027_0003.jpg?sign=1739281016-7l285CGUe1YHXPY8rSPLvXHDdqq4mUg7-0-a0d16d1ff60ef06a6bb4fc9ce2ff1a67)
图1-50 CMD界面
(2)使用如下Android命令创建一个AVD。
android create avd --name <your_avd_name> --target <targetID>
其中“your_avd_name”是需要创建的AVD的名字,CMD窗口界面如图1-51所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0027_0004.jpg?sign=1739281016-4ODvbKqgj2f4xtloToQclnM8eMGRnEkO-0-12222cb3e5f09ec922c366fa8cc41519)
图1-51 CMD界面
图1-51的窗口中创建了一个名为aa, targetID为3的AVD,然后在CMD界面中输入“n”,即完成操作,如图1-52所示。
![](https://epubservercos.yuewen.com/560EF0/11261868204954606/epubprivate/OEBPS/Images/figure_0027_0005.jpg?sign=1739281016-jFvZsaeRkMnAZHn98MJ01Unrip1BuQGm-0-d3fa9178e879526e571f1af6f535cd5d)
图1-52 CMD界面