《Android应用开发揭秘》连载2

《Android应用开发揭秘》

 

Android应用开发揭秘(国内首本基于Andriod 2.0的经典著作,5大专业社区一致鼎力推荐!)
 
书名:Android应用开发揭秘
作者:杨丰盛
出版社:机械工业出版社
ISBN:9787111291954
出版日期:2010 年3月(1版2次)
开本:16
页码:515
版次:1-2
定价:69元
豆瓣网讨论地址: http://www.douban.com/subject/4200822/
China-pub预订地址: http://www.china-pub.com/196305
 

第2章  Android开发环境搭建

本章讲解如何配置Android开发环境首先介绍Android开发所需要的开发包和工具,以及获得它们的方式;其次介绍如何正确安装和配置这些开发包;最后,为了测试安装的开发环境,创建了第一个Android项目——HelloAndroid,然后在模拟器上运行和调试该程序,并将该应用程序安装到Android手机上。

2.1  Android开发准备工作
配置Android开发环境之前,首先需要了解Android对操作系统的要求。它可以使用Windows XP及其以上版本、Mac OS、Linux等操作系统,本书以Windows XP为例进行讲解。Android开发所需软件的版本及其下载地址如表2-1所示。

表2-1   Android开发所需软件的版本及其下载地址


表


2.2  开发包及其工具的安装和配置
Android以Java作为开发语言,JDK是进行Java开发时必需的开发包。Eclipse是一款非常优秀的开源IDE,在大量插件的“配合”下,完全可以满足从企业级Java应用到手机终端Java游戏的开发。Google官方也提供了基于Eclipse的Android开发插件ADT,所以本书选择Eclipse作为开发IDE。

2.2.1  安装JDK和配置Java开发环境
很多人不能够很好地进行Java开发,原因就在于对Java运行环境不了解或是了解得不够透彻。如果连一个普通的Java程序运行环境都搭建不好,就更不要说理解J2EE、J2ME以及本书所讲的Android等的运行环境了。因此,这里我们先讲如何安装JDK以及Java环境的配置,教大家搭建一个学习Java的基础平台,让大家少走一些弯路,多学到一些小窃门。
(1)登录 http://java.sun.com,下载最新版JDK。

(2)安装JDK,安装包中包含了JDK和JRE两部分,笔者建议将它们安装在同一个盘符下。双击安装程序,选择安装的目录,点击“下一步”,等待安装程序自动完成安装即可。

(3)右键单击“我的电脑”,选择“属性”菜单项,选择“高级”选项卡,选择“环境变量”,找到“Path”变量名(如果没有就新建一个名为“Path”的变量),点击“编辑”按钮,添加JDK安装目录中“bin”文件夹路径,如图2-1所示。然后点击“确定”按钮完成。再找到“ClASSPATH”变量(如果没有,同样可以新建),输入JDK安装目录中“lib”以及“demo”的路径,如图2-2所示,单击“确定”按钮完成。
       
1    2
 
              图2-1 “Path”变量配置                     图2-2 “ClASSPATH”变量配置

(4)安装配置完成之后,要测试是否安装成功。点击开始→运行,输入“CMD”,打开命令行模式。键入命令“java -version”,检测JDK是否安装成功,如果运行结果如图2-3所示,即表示安装成功。
 
3
 
    图2-3 “java -version”测试命令

2.2.2  Eclipse的安装与汉化
Eclipse的安装非常简单,直接将下载的压缩包解压即可。老版本的Eclipse的多国语言项目只更新到3.2.1版本,以后就再也没有更新了。Eclipse最近发布了一个名为Babel project的项目,这个项目就是用来解决国际化的问题,旨在为每一个插件提供独立的语言包。这样,当做RCP项目的时候,根据需要对语言进行打包即可!
Babel的安装方法和步骤如下所示:

(1)启动Eclipse开发工具,依次点击“Help ” →选择“Software Update ...”菜单命令,打开“Software Updates and Add-ons”对话框,选择“Avaliable Software”项。接着点击“Add Site...”按钮,在“Location”文本框中输入Babel更新地址: http://download.eclipse.org/
technology/babel/update-site/ganymede,然后点击 OK 按钮,如图2-4所示。

4
 
 图2-4  添加语言包更新地址

(2)“Avaliable Software”表中会多出一项 http://download.eclipse.org/technology/babel/update-site/ganymede/,点击该项左边的箭头,就会出现网络更新软件列表,如图2-5所示。

5
 
   图2-5  Avaliable Software选择框

(3)选择“Simplified Chinese”语言包后,点击 “Install... ”按钮,等待Eclipse处理。
处理完成后会出现“Install”对话框,这时会提示你选择要安装的语言包。根据提示,很容易完成后面的操作,这里就不再赘述了。
安装完毕后,重新启动Eclipse即可完成全部汉化过程。
如果重启Eclipse后不显示中文,请用命令行 “eclipse.exe -nl zh_CN”重新启动Eclipse。

2.2.3  SDK和ADT的安装和配置
安装了JDK和Eclipse后,现在就要安装Android SDK和ADT插件了。

1.Android SDK安装
(1)解压缩下载好的SDK安装包到要安装SDK的路径,然后运行“SDK Setup.exe”。
(2)如果遇到了消息为“Failed to fetch URL…”的错误提示,那么需要将HTTPS方式改为HTTP方式,在“Android SDK and AVD Manager”窗口的左侧选择 “Settings”,选中 “Force https://…”选项(如图2-6所示),点击“Save & Apply”并重新运行 SDK Setup.exe。

6
 
    图2-6  更改HTTP方式

(3)点击“Available Packages”,选择要安装的API版本及USB驱动和SDK文档,如图2-7所示。这里为了测试方便,所以全部选择了。

7
 
    图2-7  选择API版本

(4)选择好之后点击“Install Selected”按钮,安装选中的软件包,在接下来出现的界面中依次点击“Accept All”单选按钮和“Install Accepted”按钮,开始下载所选择的安装包。

下载完成之后,根据提示即可完成后续的安装操作。

到这里,我们就完成了Android SDK的安装,下面来配置Android SDK。

2.Android SDK配置
需要将Android SDK安装目录中的tools文件夹路径添加到环境变量中以便使用,操作步骤如下:
(1)右键点击“我的电脑”,依次选择“属性”→“高级”→“环境变量”选项,如图2-8所示。
(2)选择“系统变量”中变量名为“Path”的项,点击“编辑”按钮,将Android SDK安装文件夹下的tools文件夹的路径加入到“Path”变量中,注意用“、”隔开,如图2-9所示。
     
8   9
 
                   图2-8  环境变量                            图2-9  编辑系统环境变量

(3)依次点击“确定”,完成环境变量配置。

3.安装和配置ADT
下面我们来安装和配置ADT插件,步骤如下:
(1)启动Eclipse,点击“Help”菜单,依次选择“Software Update...”项和“Avaiable Software”选项卡,点击“Add Site...”按钮,输入地址 https://dl-ssl.google.com/android/eclipse/,结果如图2-10所示。
(2)点击“OK”,这时可能会出现如图2-11所示的错误。  
 
10   11

        图2-10  添加ADT的更新地址                     图2-11  更新地址错误

解决这个问题的方法是:将“https://dl-ssl.google.com/android/eclipse/”中的“https”更改为“http”,在接下来的对话框中选中“Name”下的所有选项,根据提示即可完成后续的安装过程。
(3)打开菜单“Windows”,依次选择“Preferences”→“Android”,点击“Browse...”按钮,选择 Android SDK的安装路径,如图2-12所示。


12
 
    图2-12  Eclipse首选项


(4)点击“OK”按钮 ,开打菜单“File”,依次选择“NEW” → “Project...”菜单命令,出现如图2-13所示的“Android Projest”选项,则表示安装配置成功。

13
 
      图2-13  新建工程界面

到这里,我们的准备工作已经就绪,可以在Android平台上开发我们的应用了,很心动吧!神奇的Android之旅即将开始。

2.3  创建第一个Android项目——HelloAndroid
为了便于第一次开发Android应用的朋友能对整个开发过程有系统性的了解,并能亲自动手创建自己的应用,我们特在本书的开篇准备了一个简单的实例项目——HelloAndroid。

2.3.1  创建HelloAndroid项目
ADT提供了简单的生成Andriod应用框架的功能,我们现在使用ADT通过Eclipse创建一个Android工程,其步骤如下。
(1)打开Eclipse开发工具,新建一个项目,在弹出的“New Project”对话框的列表中展开“Android”项,然后选择“Android Project”子项,如图2-14所示。

14
 
    图2-14  新建一个Android工程

(2)点击“Next”按钮,在“Project name”文本框中输入“HelloAndroid”,然后在“Build Target”选项框中选择“Android SDK 1.5”,在Application name文本框中输入这个应用程序的名字(HelloAndroid),在Package name文本框中输入应用程序包的名字(com.yarin.Android.HelloAndroid),在Create Activity文本框中输入Activity的名字(HelloAndroid),如图2-15所示。
 

15
 
   图2-15  新建HelloAndroid工程

(3)单击“Finish”按钮,此时Eclipse会自动完成Android项目的创建,这时Eclipse开发平台左边的导航器中显示了刚才创建的项目“HelloAndroid”。如果没有出现导航器,则可以通过单击“Window”→“Show View” →“Package Explorer”菜单命令来显示导航器,如图2-16所示。
到这里,HelloAndroid项目已经创建好,而且这个项目是由我们前面安装的ADT插件自动生成,所以不用编写代码即可运行。下面我们将讲述如何在模拟器中运行刚刚创建的HelloAndroid项目。

2.3.2  运行HelloAndroid及模拟器的使用
上面我们已经利用ADT插件通过Eclipse创建好了第一个Android项目,而且没有编写任何代码,我们很想看看运行之后的结果!不要着急,在模拟器中运行该应用之前,有必要了解一下模拟器的使用和配置。
从Android 1.5开始引入了AVD(Android Virtual Device)这个概念。AVD是一个经过配置的模拟器。在创建AVD时可以配置的选项有:模拟器影像大小、触摸屏、轨迹球、摄像头、屏幕分辨率、键盘、GSM 、GPS、Audio录放、SD卡支持、缓存区大小等。配置Android模拟器的具体步骤如下所示。
(1)首先打开“Android SDK and AVD Manager”,如图2-17所示。
                

16   17
  
      图2-16  显示项目管理器             图2-17  Android SDK and AVD Manager菜单

(2)点击左边的“Virtual Devices”选项,再点击右边的“New...”按钮,新建一个AVD。
(3)在“Name”标签处填写AVD的名字,在“Target”标签处选择API等级,在“Size”标签处填写要创建的SD卡的大小,在“Skin”标签中设置模拟器的风格,如图2-18所示。
(4)到这里,我们便可以运行第一个Android项目了吗?还是不行,还需要配置模拟器运行的AVD。操作步骤为:点击“Run”,选择“Run Configurations”菜单命令,打开“Run Configurations”对话框,如图2-19所示。
(5)双击“Run Configurations”对话框左边的导航器中的“Android Application”菜单命令,创建一个Android项目运行配置。在右边的“Name”文本框中输入 Android项目运行配置的名字(HelloAndroid),在“Android”选项卡中的“Project”文本框中输入要运行的Android项目,同样可以点击右边的“Browse...”按钮来选择Android项目,如图2-20所示。
 
18
 
  图2-18  创建AVD


19
 
  图2-19  运行配置界面


20

  图2-20  配置要运行的HelloAndroid项目


(6)点击“Target”选项卡,选择“Automatic”单选框,然后在AVD列表框中选择我们刚才创建的AVD,如图2-21所示。
 

21
 
   图2-21  制定运行HelloAndroid项目的AVD

(7)点击“Run”按钮,这样便可以运行HelloAndroid项目了,不过Android模拟器启动非常慢,慢慢等吧。但是Android的模拟器做得非常漂亮,终于可以看到第一个Android项目的运行效果了,如图2-22所示。


22         23

图2-22HelloAndroid项目在模拟器中的运行效果   图2-23 Android模拟器显示中文界面


从Android SDK 1.5版本开始,Android模拟器开始支持中文了,也内置了中文输入法(谷歌拼音输入法),下面我们就将模拟器改为中文环境。操作步骤为:启动Android模拟器,进入Android模拟器菜单,选择“Settings”菜单项,开打“Settings”菜单,选择“Locale&text”菜单项,打开“Locale&text”菜单,依次选择“Select locale”项和“Chinese(China)”项,这样就设置为中文了,然后返回桌面,如图2-23所示。

上文我们使用ADT插件在Eclipse开发工具中创建了AVD及设置模拟器等操作,同样可以在命令行模式下完成上面的操作。

扩展学习

大家已经看到了Android的模拟界面了,这款模拟器功能非常齐全,电话本、通话等功能都可正常使用(当然不是真的从模拟器中打电话)。甚至其内置的浏览器和Google Maps都可以联网。用户可以使用键盘输入,鼠标点击模拟器按键输入,甚至还可以使用鼠标点击、拖动屏幕进行操纵。我们在开发项目时,这个模拟器完全可以满足我们测试的需求。下面我们列举一些常用的模拟器操作。

*  列出模拟器类型:android list targets。
*  创建模拟器:android create avd --target 2 --name cupcake,cupcake为新建模拟器的名字。
*  列出自己创建的模拟器:android list avd。
*  切换模拟器样式:在创建命令后面加上 “--skin QVGA”即可。切换样式:Windows操作系统按F7键即可。
*  删除模拟器:android delete avd --name cupcake,cupcake为删除的模拟器的名字。
*  指定用什么模拟器启动:emulator -debug avd_config -avd cupcake,cupcake为模拟器的名字。
*  将apk文件安装到Android模拟器。操作步骤为:首先启动Android模拟器,然后打开命令行对话框,进入命令行模式。在命令行模式下进入Android SDK安装目录下面的tools文件夹,输入“adb install c:/ poker80.apk”(c:/ poker80.apk是要安装的文件的路径),这样便可以将apk文件安装到模拟器上,如图2-24所示。
 
24
 
    图2-24  安装apk文件到模拟器

*  卸载模拟器中的apk文件。操作步骤为:首先启动Android模拟器,进入命令行模式。在命令行模式下进入Android SDK安装目录下面的tools文件夹,然后在命令行处依次输入“adb  shell”、“cd  data”、“cd  app”、“ls”(主要是针对不知道包下面的文件的情况,可以用ls命令列表显示出来)、“rm com.fungsing.poker80.apk”命令(“com.fungsing.poker80.apk.apk”是你要卸载的apk包),如图2-25所示。

25
 
   图2-25  从Android模拟器卸载apk文件

2.3.3  调试HelloAndroid
在Eclipse开发工具中调试程序的方法很多,使用Eclipse调试Android程序时需要注意一些细节上的问题。许多刚接触Android的开发者,在调试Android程序时总是不能迅速地找到程序的错误所在,Eclipse+ADT的开发环境中没有直接跟踪对象内容的方法,但是我们可以使用Google提供的ADT插件DDMS(Dalvik Debug Monitor Service)在Eclipse上轻松地调试Android程序。DDMS为我们提供了很多功能,例如:测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息,Logcat,广播状态信息,模拟电话呼叫,接收SMS,虚拟地理坐标等等,下面我们通过DDMS来调试我们的HelloAndroid项目。

(1)将Eclipse开发工具的工作界面切换到DDMS标签。首先确定Eclipse开发工具右上角是否有“DDMS”标签,如果有,则直接点击该标签即可切换到DDMS工作界面,如图2-26所示。如果没有,则点击“Open Perspective”按钮,选择“Other...”命令按钮,打开“Open Perspective”对话框,如图2-27所示。在“Open Perspective”对话框中选择“DDMS”选项,然后点击“OK”按钮,如图2-28所示。

 


26      27
 
   图2-26 DDMS工作界面切换   图2-27  打开视图布局显示操作

 


28
 
   图2-28 视图布局选择框

(2)在“DDMS”界面中选择“Devices”标签,查看其菜单的功能,可以看到Debug Process(调试进程)、Update Threads(更新线程)、Update Heap(更新堆)、Cause GC(引起垃圾回收)、Stop Process(停止进程)、Screen Capture(屏幕截图)、Reset adb(重启Android Debug Bridge)菜单选项,如图2-29所示。

从图2-29中可以观察到Android程序运行时的各种状态,比如进程信息、线程分析、堆内存的占用,结束一个进程等。当然,这些操作都是在DDMS框架下进行的,日常开发的程序是无法执行调用的。如果adb调试桥运行不稳定,可以选择“Reset adb”来重新启动“adb.exe”进程。下面我们介绍如何使用DDMS的“Logcat”来调试Android程序,步骤如下:

(1)“Logcat”通过“android.util.Log”类的静态方法来查找错误和打印系统日志消息。它是一个进行日志输出的API,我们在Android 程序中可以随时为某一个对象插入一个Log,然后在DDMS中观察Logcat的输出是否正常。android.util.Log常用的方法有以下5个:

*  Log.v(String tag, String msg);
*  Log.d(String tag, String msg);
*  Log.i(String tag, String msg);
*  Log.w(String tag, String msg);
*  Log.e(String tag, String msg)。

 


29

   图2-29 DDMS操作菜单


这5种方法的首字母分别对应VERBOSE、DEBUG、INFO、WARN、ERROR。当利用DDMS进行调试时,它们的区别并不大,只是显示的颜色不同,可以控制要显示的某一类错误,一般如果使用“断点”方式来调试程序,则使用Log.e比较合适。但是根据规范建议Log.v、Log.d信息应当只存在于开发过程中,最终版本只可以包含Log.i、Log.w、Log.e这三种日志信息。下面我们对“HelloAndroid”程序进行调试,首先修改“HelloAndroid.java”如代码清代2-1所示。我们在代码中加入了需要输出的日志信息。
 
代码清单2-1  第2章/HelloAndroid/src/com/yarin/Android/HelloAndroid/HelloAndroid.java
/* 定义TAG标签,这样可以很好地区分打印出来的Log */
private static final String TAG = "HelloAndroid";
public void onCreate(Bundle savedInstanceState)
{
 super.onCreate(savedInstanceState);
 /* 打印出不同的Log信息 */
 Log.v(TAG,"VERBOSE");
 Log.d(TAG,"DEBUG");
 Log.i(TAG,"INFO");
 Log.w(TAG,"WARN");
 Log.e(TAG,"ERROR");
 setContentView(R.layout.main);
}
 
(2)点击“Run”→“Debug”菜单命令,进入调试模式,如图2-30所示。

(3)切换到“DDMS”界面,点击“Logcat”标签,即可查看我们刚刚在程序中打印的Log信息。用不同颜色表示了不同等级的信息,这样就可方便地对程序进行跟踪,使得调试Android程序更加方便。

30
 
    图2-30 调试菜单命令

在调试Android程序时,同样可以通过设置断点的方式来调试程序。在启动应用程序进行调试时,Eclipse 会自动切换到 Debug 透视图。毫无疑问,最常见的调试步骤是设置断点,这样可以检查条件语句或循环内的变量和值。要在 Java 透视图的 Package Explorer 视图中设置断点,双击选择的源代码文件,在一个编辑器中打开它。遍历代码,将鼠标放在可疑代码一行的标记栏(在编辑器区域的左侧)上,双击即可设置断点,如图2-31所示。

注意  最好不要将多条语句放在一行上,因为会无法单步执行,也不能为同一行上的多条语句设置行断点。

一旦找到错误发生的位置,你可能想知道在程序崩溃之前它在做什么。一种方法是单步执行程序的每行语句,直到运行到可疑的那一行。有时候最好只运行一段代码,在可疑处停止运行,检查数据。另一种方法是声明条件断点,断点在表达式值发生变化时触发。如图2-32所示,我们设置条件“savedInstanceState == null”,当满足这个条件时,程序就会挂起。除此之外,在输入条件表达式时,也可以使用代码帮助。为了在 Debug 透视图的编辑器中计算表达式的值,选择设置了断点的那行代码,在上下文菜单中,通过 Ctrl+Shift+I 或右键单击你感兴趣的变量并选择 Inspect 选项。在当前堆栈框架的上下文中会计算表达式的值,在 Display 窗口的 Expressions 视图中会显示结果。
 

31

    图2-31  设置“断点”
  

   32

    图2-32  设置条件断点

要在 Debug 视图中挂起执行线程,选择一个运行线程,单击 Debug 视图工具栏中的 Suspend。该线程的当前调用堆栈就会显示出来,当前执行的代码行就会在 Debug 透视图中的编辑器中高亮显示。挂起一个线程时,将鼠标放在 Java 编辑器中的变量上,该变量的值就会在一个小的悬停窗口中显示出来。此时,该线程的顶部堆栈框架也会自动选中,其中的可视变量也会在 Variables 视图中显示出来,可以通过单击 Variables 视图中合适的变量名来检查变量。
以上列举了一些在Eclipse编辑器中常用的调试方式,当然调试的方式很多,读者同样可以根据自己的需要选择不同的方式进行调试。希望读者能够根据不同的错误采取不同的方式进行调试,使错误能快速地出现在眼前。

2.4  小结
本章主要对Android应用开发的前期工作进行了整理,即Android开发工具的准备、环境的搭建及配置,最后为了测试我们的环境安装是否正确,写出了一个最经典的HelloAndroid程序。同时,了解了Android平台如何调试程序,以辅助我们后期能够快速开发出Android应用。本章是Android应用开发的基础,大家好好把握,下面我们将正式对Android进行系统学习。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Android应用开发揭秘   Windows操作系统的诞生成就了微软的霸主地位,也造就了PC时代的繁荣。然而,以Android和iPhone手机为代表   的智能移动设备的发明却敲响了PC时代的丧钟!移动互联网时代(3G时代)已经来临,谁会成为这些移动设备上的主   宰?毫无疑问,它就是Android——PC时代的Windows!   移动互联网还是一个新生的婴儿,各种移动设备上的操作系统群雄争霸!与Sym‘Dian、i P}lone OS、Wiridows Mobile   相比,Androjd有着天生的优势一完全开放和免费,对广大开发者和手机厂商而言,这是何等的诱人!此外,在Google   和以其为首的Android手机联盟的大力支持和推广下,Android不仅得到了全球开发者社区的关注,而且一大批世界一流   的手机厂商都已经或准备采用Android。   拥抱Android开发。拥抱移动开发的未来!   如果你在思考下面这些问题,也许本书就是你想要的!   Android开发与传统的J2ME开发有何相似与不同?   如何通过Shared Preferences、Files、Network和SQLite等方式高效实现Android数据的存储?又如何通过Content Providers轻松地实现Androld数据的共享?   如何使用Open Core、MediaPlayer、MediaRecorder方便快速地开发出包含音频和视频等流媒体的丰富多媒体应用?   如何利用Android 2.0新增的蓝牙特性开发包含蓝牙功能的应用?又如何使用蓝牙APL来完善应用的网络功能?   如何解决Android网络通信中的乱码问题?   在Android中如何使用语音服务和Google Map Apl? Android如何访问摄象头、传感器等硬件的APl?   如何时行Widget开发?如何用各种Android组件来打造漂亮的UI界面?   Android如何解析XML数据?又如何提高解析速度和减少对内存、CPU资源的消耗?   如何使用OpenGL ES在Android平台上开发出绚丽的3D应用?在Android平台上如何更好地设计和实现游戏引擎?   如何对Android应用进行优化?如何进行程序性能测试?如何实现UI、zipalign和图片优化?如何通过NDK利用C、C++以及通过ASE利用Python等脚本语言Android开发应用?   国内首本基于Android 2.0的经典著作,5大专业社区一致鼎力推荐!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值