《Android和PHP开发最佳实践》一2.10 Android开发环境

2.10 Android开发环境

前面我们已经学习了Android系统中最重要的基础概念的内容,那么接下来就要开始正式进入Android应用的实战开发阶段。“工欲善其事,必先利其器”,因此,我们先来熟悉Android应用的开发环境吧。
Android应用的开发环境是基于Eclipse平台的,Eclipse的强大无需多说,它当然也适应于Windows XP、Mac OS、Linux等多种操作系统。另外,我们还需要安装一些必备的开发工具包,所需要的软件见表2-8。

2.10.1 开发环境的搭建

在搭建开发环境之前,我们先来介绍一下Android开发环境的几个重要组成部分以及它们的安装方式。
1. Android SDK
Android SDK的安装非常简单。首先,直接打开前面提到的Android SDK的下载地址,下载最新的android-sdk_r13-windows.zip安装包;下载完毕之后,在电脑上解压,你会发现android-sdk-windows这个目录,这个目录就是Android SDK目录了,你可以把它复制到你所希望的位置并重新命名,比如D:\Android;然后,打开SDK Manager.exe,你会看到如图2-16所示的安装界面。接下来,单击“OK”按钮让下载过程继续就可以了。系统会自动下载最新的Android SDK及其文档和例子等。当然,这个过程是很漫长的,如果有可能,建议从已经下载过的朋友那里复制一份。

  1. Java SDK
    Java SDK的安装过程也是很简单的,不过下载地址可能有点难找,如果找不到请尝试从以下地址下载:http://www.oracle.com/technetwork/java/javase/downloads/index.html。下载完最新版的JDK版本之后,使用软件自动安装即可。要注意的是,在安装完毕之后需要设置Windows系统的环境变量,如图2-17所示。

设置完毕之后,我们可以在Windows命令行中使用“java -version”命令行来检测JDK是否安装成功。如果运行结果如图2-18所示,则表示安装成功。

  1. Eclipse
    Eclipse开发工具的安装也是非常简单的,进入http://www.eclipse.org/downloads/页面,下载Eclipse Classic最新版本的ZIP压缩包,解压缩后再复制到相应目录,比如D:\Eclipse。打开eclipse.exe就可以看到以下界面,如图2-19所示。

由于前面已经安装过Java SDK,所以直接打开eclipse.exe就会看到以上界面,否则打开时会提示错误。下面为没有使用过Eclipse的朋友大致介绍一下Eclipse的操作界面:最上面的那一排文字是“选项菜单栏”,包括几乎Eclipse中所有的操作;“选项菜单栏”的下面那排是常用项目的“快捷图标栏”;左边是Package Explorer,即“项目文件浏览框”,主要用于管理项目代码;中间是“代码编辑框”,我们在这里编辑代码;右边是Outline“代码大纲框”,这里可以方便地进行代码概览;右下方则是“调试信息框”,这里面包括Problems错误提示框、Console调试信息结果框等。
4. ADT
实际上,ADT(Android Development Tools)是Eclipse开发工具的一个插件,其安装过程也很简单:首先单击Eclipse界面上方的“Help”菜单,然后选择“Install New Software ”命令,接着在“Work with”输入框输入ADT插件地址“https://dl-ssl.google.com/android/eclipse”,单击“Add”按钮添加插件站点即可。当下方窗口出现选项列表时,单击选择所有的安装选项,然后按照提示安装即可,如图2-20所示。
安装完成后,会在左上方的“快捷图标栏”中出现ADT的快捷图标,即。单击此图标,系统会自动打开“Android SDK and AVD Manager”(Android虚拟设备管理器)界面,如图2-21所示。在这里我们可以创建并管理我们所需要的虚拟设备。此时,右边的“虚拟设配列表”中是空的。
在真正地开始创建设备之前,我们还需要配置一下ADT中Android的SDK位置,配置过程如下:执行“Window”菜单中的“Preferences”命令,然后选择左边的“Android”选项,然后在右边的“SDK Location”中选择Android SDK安装的位置。比如,之前我们把Android SDK安装到D:\Android目录下,那么我们在这里就选择该目录,如图2-22所示。



Android虚拟设备管理器是用来运行和调试我们所开发的Android应用程序的,它可以模拟各个版本几乎所有的Android设备。如果你要添加一个新设备,就单击右边的“New”按钮,并按照图2-23配置所需要的设备,最后单击“Create AVD”完成创建,结果会在“虚拟设配列表”中显示,如图2-24所示。

这里简单介绍一下Android虚拟设备的主要配置选项。
Name:虚拟设备的名称。
Target:设备的Android API版本,考虑到兼容性,这里选择Android 2.2的API。
SD Card:设备的存盘大小。
Skin:设备外观,我们可以选择主流的设备,也可以直接指定设备的宽度和高度。
Hardware:设备硬件,如果你的设备需要有一些特殊的硬件,可以在这里进行配置。当然,还可以使用右侧的“New”按钮来添加所需要的虚拟硬件设备。

图2-24所示的就是创建完毕的AVD的虚拟设备列表界面,大家可以看到这次在右侧的设备列表中已经多出一个名为“Android_2.2”的AVD虚拟设备,我们可以选中它,然后单击右边的“Start”按钮,然后等待一段时间,即可看到虚拟设备界面,效果还是很不错的,如图2-25所示。

当然,如果你觉得虚拟设备的速度太慢,我们也可以使用真机来调试。其实,操作起来也很简单,安装步骤如下。
步骤1:安装手机的驱动,保证手机在Windows XP上可以被识别。
步骤2:打开手机的“设置”,然后选择“应用程序”中的开发选项,打开“USB调试”和“允许模拟地点”选项。
步骤3:打开Eclipse中的DDMS,在左边的Devices列表中就可以看到你的真机设备,单击选中它,就可以开始在真机上进行安装和调试了。
之后,我们就可以通过USB连接线把手机设备与开发机器连接起来,直接把Android应用程序安装到手机设备上进行调试。实际上,真机调试是正规Android应用程序发布的必要步骤,因为Android的手机设备型号非常多,所以在上线之前应尽量多测一些手机设备,保证Android应用的兼容性。

2.10.2 首个Android项目

前面我们已经把Android的开发环境准备好了,下面我们将使用Eclipse+ADT来创建自己的首个Android项目,也就是我们常说的Hello World项目,具体步骤如下。
步骤1:打开Eclipse开发工具,单击左上方的“新建项目”菜单创建一个项目,然后选择“Android Project”子项,单击“Next”按钮,如图2-26所示。
步骤2:在接下来的新建项目界面中的“Project Name”(项目名)文本框中填入项目的名字hello;在“Build Target”选项组中选择“Android 2.2”,这里的选项应该和前面建立AVD时采用的Android版本保持一致;在“Package name”文本框中填写包名“com.app.hello”;在“Create Activity”文本框中填入需要建立的默认Activity类名HelloActivity,如图2-27所示。
小贴士:以下的“hello”项目同“Hello World”项目。

步骤3:单击“Finish”按钮,ADT会自动生成代码并把项目建好。完成之后,我们就可以在Eclipse界面左边的“Package Explorer”窗口中看到创建完毕的名为“hello”的项目了。接下来,我们试着发布并运行此项目。右键单击hello项目,在快捷菜单中执行“Run As”→“Android Application”命令,如图2-28所示。

步骤4:Eclipse会帮助我们自动完成代码编译工作,并安装到Android模拟器上运行,hello项目的最终运行效果如图2-29所示。

至此,我们已经成功建立了自己的首个Hello World项目,虽然没有写过一行代码,这就是使用ADT环境给我们带来的好处。接下来,我们就以Hello World项目为例,分析一下Android应用的几个主要组成部分。首先,我们来看一下应用的基础配置文件,也就是AndroidManifest.xml文件,见代码清单2-38。
代码清单 2-38

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.app.hello"
    android:versionCode="1"
    android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8" />
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".HelloActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

可以看到,项目应用配置文件AndroidManifest.xml中不仅声明了Hello World应用的package名、版本号android:version、最小的sdk版本限制android:minSdkVersion等,还在元素里面声明了应用中唯一的Activity,也就是HelloActivity的配置信息。此外,在hello项目的配置文件中,我们还需要注意以下几点。
package名就是应用安装时用的类包名,务必保证该名不和其他应用重名,否则安装时会发生严重冲突。
元素中的android:name必须和相关的Activity类对应上,比如“.HelloActivity”应该和“com.app.hello.HelloActivity”类对应。
元素用于决定activity的调用方式,比如“android.intent.action.MAIN”就说明这个Activity是该应用的总入口,一个应用有且只能有一个MAIN入口Activity。
由于Hello World项目比较简单,大家在这里只能看到项目应用配置文件很小一部分的用法,比如Android应用的基础声明、Activity组件的简单配置等。关于配置文件其他更高级的用法,比如除Activity之外的其他重要组件的配置方法,以及关于消息过滤器的完整用法等,我们都将在实战篇中的7.1.1节中详细介绍。
接下来,打开源码目录src/下的com.app.hello代码包中的主要界面程序的Java程序HelloActivity.java的代码,如代码清单2-39所示。该类的代码逻辑比较简单,HelloActivity类继承了Activity基类;接着,在此类的onCreate接口中使用了setContentView方法设置本Activity所使用的layout模板;最后,在运行的时候,系统就会展示出对应的UI界面。
代码清单 2-39

package com.app.hello;

import android.app.Activity;
import android.os.Bundle;

public class HelloActivity extends Activity {
      /* Called when the activity is first created. /
      @Override
      public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
      }
}

读到这里,也许大家会有疑问,虽然我们设置了R.layout.main模板,但是模板文件在哪里呢?要解决这个问题,我们需要熟悉一下Android的基本目录结构,我们就以Hello World项目为例,项目的目录结构如图2-30所示。

对照图2-30,我们来讲解一下Android项目中常见的目录结构。
hello/src/com.app.hello:程序包目录,这里根据前面新建项目的时候填写的“Package Name”选项来生成应用程序包的Namespace命名空间。
hello/gen/com.app.hello:存储ADT自动生成的资源映射文件R.java,此文件内的静态类分别对应着Android不同的资源类型,而类中的静态类变量就表示对应资源的id标识,比如,R.layout.main对应hello/res/layout/main.xml布局文件。
hello/res/drawable-hdpi:图片以及渲染文件存储目录,在Android 2.1之后,原先的drawable目录被扩充为3个目录drawable-hdpi、drawable-ldpi和drawable-mdpi,主要是为了支持多分辨率,drawable-hdpi存放高分辨率图片,如WVGA(480×800),FWVGA(480×540)。
hello/res/drawable-ldpi:中等分辨率图片存储目录,如HVGA(320×480)。
hello/res/drawable-mdpi:低分辨率图片存储目录,如QVGA(240×320)。
hello/res/layout:布局文件存储目录,这里就是存储layout模板的地方了。
hello/res/values:配置文件存储目录,如strings.xml、colors.xml等。如果你要开发Android的国际化程序,可以在这里为不同的地区所支持的语言设置不同的目录,比如中文简体hello/res/values-zh-rCN,而中文繁体则为hello/res/values-zh-rTW。
hello/AndroidManifest.xml:每个Android项目都必需的基础配置文件,除了声明程序中的Activities、ContentProviders、Services和Intent Receivers,还可以指定permissions和instrumentations(安全控制和测试)等。
hello/proguard.cfg:主要用于Android应用代码的安全混淆。
理解以上内容之后,可以尝试着动手给Hello World项目的代码做一些小修改,比如,调整一下打印出来的文字,或者修改一下布局的方式等。这样不仅可以加深对Android项目开发的印象,还可以帮助大家快速地熟悉Android应用的开发工具,为后面的项目实践做准备。

2.10.3 使用DDMS调试工具

在完成了首个Hello World项目的创建之后,大家应该可以体会到在Eclipse加上ADT的开发环境中进行Android代码开发是一件多么方便的事情。而实际上,ADT还给我们提供了一个非常方便的调试工具,那就是DDMS。使用这个工具,代码调试工作也变得简单起来。我们只需要单击Eclipse界面右上方的DDMS按钮就可以切换到DDMS界面了,如图2-31所示。

接下来,我们按照“从左到右,从上到下”的顺序介绍一下该工具中的几个主要功能板块的功能和使用。
Devices:该窗口用于显示所有设备的详细信息,这里的emulator-5554就是模拟器设备的编号,下面则是设备运行的所有进程的列表,单击相应的进程还可以进行调试、截屏等动作。
Emulator Control:这里主要用于操控一些模拟器的行为,比如设置GPS定位信息等。
File Explorer:本窗口是Android系统的文件浏览器,在这里,我们可以浏览设备里面的文件目录,比如,之前在讲Android数据存储的时候提到过可以使用DDMS来浏览对应的存储文件,讲的就是这个窗口的功能。
LogCat:用于打印设备的调试信息,这个窗口应该是在开发过程中最经常用到的了,这里的信息分为五级,分别对应上面的V(VERBOSE)、D(DEBUG)、I(INFO)、W(WARN)、E(ERROR)五个圆形的按钮。此外,还可以通过单击这些按钮来过滤相应的调试信息。
Console:控制台打印的主要是操作信息,在这里,可以查看设备的运行情况,比如应用的apk包是否安装成功等。
在这些功能板块中,我们重点介绍一下LogCat窗口的使用,因为开发的时候最经常使用到的就是它了。在Android程序中,我们可以使用android.util.Log类里面的方法来打印不同级别的信息,笔者个人在调试的时候比较喜欢使用WARN级别,因为INFO以上的信息太多了,不利于过滤,而ERROR又太严重,经常和一些Exception混起来。另外,笔者个人还非常喜欢直接把它拉到开发界面中去,这样不需要切换到DDMS就可以调试程序了。以上是笔者本人的一些使用心得,如果你觉得不错的话不妨试一试。
当然,DDMS的用法不只有上面提到的这些功能,关于DDMS的使用心得,大家应该在Android应用的开发和调试中注意积累。另外,本书实战篇中的7.1.3节也会结合实际应用进一步说明DDMS工具的用法。总之,学会如何灵活地使用DDMS来调试Android应用程序是Android应用开发中必不可少的知识和技巧。

时间: 2025-01-18 14:19:31

《Android和PHP开发最佳实践》一2.10 Android开发环境的相关文章

Android应用性能优化最佳实践.2.1 Android系统显示原理

绘?制?优?化 Android应用启动慢,使用时经常卡顿,是非常影响用户体验的,应该尽量避免出现.卡顿的场景有很多,按场景可以分成4类:UI绘制.应用启动.页面跳转.事件响应,如 图2-1所示.在这四种场景下又有多个小分类,基本上覆盖了卡顿的各个场景.   图2-1 卡顿主要场景 这4种卡顿场景的根本原因又可以分成两大类. 界面绘制:主要原因是绘制的层级深.页面复杂.刷新不合理,由于这些原因导致卡顿的场景更多出现在UI和启动后的初始界面以及跳转到页面的绘制上. 数据处理:导致这种卡顿场景的原因是

Android应用性能优化最佳实践.1.2 Android Studio使用入门

1.2 Android Studio使用入门 1.2.1 Android Studio安装 这里我们以在Windows系统上安装Android Studio为例,具体的安装步骤如下: 1)安装JDK,且为JDK 1.6及以上版本. 2)下载Android Studio安装包:developer.android.com/sdk/installing/studio.html. 3)单击安装包开始安装,首先进入选择组件界面,如图1-1所示.   图1-1 选择安装组件 一般已经安装Eclipse或其他

Android应用性能优化最佳实践.1.1 Android Studio的优势

Android Studio使用指南 假设我们要选择一个IDE来开发应用,目前主流的IDE有Eclipse.Android Studio.Idea,在2015年前,这三个IDE各有优缺点,但现在,Android Studio是首选,因为随着Google对Android Studio的大力完善和支持,优势已经越来越明显,但目前仍有不少开发人员在使用Eclipse.为什么要首选Android Studio,它有什么优势,具体要如何使用,本章将逐一揭示. 本书的例子都是使用Android Studio

Android应用性能优化最佳实践.1.3 Android Studio实用技巧

1.3 Android Studio实用技巧 1.3.1 代码管理 Android Studio支持Git.SVN等主流的源码管理工具,让开发者可以不用离开Android Studio就可以提交和管理代码.我们熟悉的开源社区Github上的项目就是使用Git来管理的,下面是使用Android Studio把本地代码托管到Github上的流程. 1)在本地安装Git,可以从官网下载安装包:https://git-scm.com/downloads. 2)配置File→Setting→Version

Android应用性能优化最佳实践.

移动开发 Android应用性能优化最佳实践 罗彧成 著 图书在版编目(CIP)数据 Android应用性能优化最佳实践 / 罗彧成著. -北京:机械工业出版社,2017.1 (移动开发) ISBN 978-7-111-55616-9 I. A- II. 罗- III. 移动终端-应用程序-程序设计 IV. TN929.53 中国版本图书馆CIP数据核字(2016)第315986号 Android应用性能优化最佳实践 出版发行:机械工业出版社(北京市西城区百万庄大街22号 邮政编码:100037

《HTML5 2D游戏编程核心技术》——第1章,第1.2节HTML5游戏开发最佳实践

本节书摘来自华章出版社<HTML5 2D游戏编程核心技术>一书中的第1章,第1.2节HTML5游戏开发最佳实践,作者[美] 戴维·吉尔里,更多章节内容可以访问"华章计算机"公众号查看. 1.2 HTML5游戏开发最佳实践 我们将在本书中持续地讨论一些关于游戏开发的最佳实践,首先介绍7个与HTML5有关的实践. 1)窗口失去焦点时暂停游戏. 2)窗口重新获得焦点时实现倒计时. 3)使用CSS实现UI特效. 4)对于运行缓慢的游戏做出检测和处理. 5)添加社交功能. 6)把所有

微信公众平台开发最佳实践(第2版)

  <微信公众平台开发最佳实践 第2版>微信公众平台开发经典之作全新改版,精心挑选最经典的商业项目开发,成千上万人次微信公众平台开发者从中受益 方倍工作室已出版本书的第3版电子版,内容更多,价格更优惠,欢迎查看购买,地址:http://www.cnblogs.com/txw1958/p/buy-ebook.html       前言 出版说明 自从方倍工作室在博客园推出微信公众平台开发系列教程后,受到广大微信开发人员及爱好者的热情关注,相关文章的日访问量高达2万人次,而<微信公众平台开发

微信公众平台开发最佳实践

<微信公众平台开发最佳实践>共分10章,案例程序采用广泛流行的PHP.MySQL.XML.CSS.JavaScript.HTML5等程序语言及数据库实现.系统完整地介绍微信公众平台基础接口.自定义菜单.高级接口.微信支付.分享转发等所有相关技术,以生活类.娱乐类.企业类微信开发为切入点,讲解了30多个功能或应用案例. 前言 自从方倍工作室在博客园推出微信公众平台开发系列教程后,受到广大微信开发人员及爱好者的热情关注,相头文章的日访问量高达上万人次,而<微信公众平台开发入门教程>一门

DB2 存储过程开发最佳实践

转自http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0604changhp/   DB2 存储过程开发最佳实践 常 伟 (changwei@cn.ibm.com), 软件工程师,IBM CSDL 常红 平 (changhp@cn.ibm.com), 软件工程师,IBM CSDL 简介: 本 文以 DB2 开发人员的角度介绍了在 DB2 存储过程开发中需要注意的事项和技巧.新手如果能够按照本文介绍的最佳实践来开发存

云应用安全开发最佳实践:保护云应用安全

云计算很有用,因为它为IT提供了一种新方法,利用共享资源来最大限度地提高生产力和削减开支.但新方法同时也会带来新威胁.我们应 该如何将这种环境的风险降到最低呢?云安全联盟和SAFECode共同合作制定了一套应用开发的最佳实践以满足云计算的独特安全需求.最终他们发布了<云应用安全开发最佳实践>,其中列出了在云环境中开发安全代码的方法.这份文件中指出:"为了让云计算发挥其真正的潜能,用户和供应商都需要重新考虑安全需求和相关标准."参与SAFECode研究的EMC公司产品安全高级