android版eclipse下载开发下哪个eclipse

用Eclipse搭建Android开发环境并创建第一个Android项目(eclipse+android sdk)
投稿:lijiao
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了用Eclipse搭建Android开发环境并创建第一个Android项目,需要的朋友可以参考下
一、搭建Android开发环境
准备工作:下载Eclipse、JDK、Android SDK、ADT插件
1、安装和配置JAVA开发环境:&
&①把准备好的Eclipse和JDK安装到本机上(最好安装在全英文路径下),并给JDK配置环境变量,其中JDK的变量值为JDK安装路径的根目录,如我的为:D:\Program Files\Java\jdk1.7.0_02;
②打开命令提示符(cmd),输入java -version命令,显示如下图则说明JAVA环境变量已经配置好了。
2、安装ADT插件:
&①打开已安装好的Eclipse,选择菜单栏上的“Help”-&在弹出的下拉框中单击选择“Install new software...”;
&②在新打开的对话框中我们完全可以直接在"Work with"中输入:在线安装ADT插件,但由于Google的服务器搭建在国外,所以通过这种方式安装起来会比较慢,而且可能会出现人品差死活装不上的情况,所以不推荐在线安装。
③我推荐直接通过下载好的ADT插件压缩包进行安装(此种方式可以在离线环境下进行)。具体步骤是:在新打开的对话框中点击“Add”按钮-&在打开的对话框中点击“Archive”按钮选择之前已经下载好保存在本地硬盘的ADT插件压缩包,至于上面的“Name”可以随便取,这只是一个代号而已,没什么实际作用。
&④在上一步中点击“Ok”按钮后我们会发现中间的空白处出现了两行复选框,单击"Select All"按钮选中所有的复选框,这步过后一路“Next”,需要“Accept”的就选中“Accept”,直到点击“Finish”结束,这样ADT插件就安装好了。整个过程需要的时间视机器性能而定。安装好ADT插件后,Eclipse的工具栏会出现一排Android的图标,如下图:
3、安装SDK:
&①把下载好的Android SDK安装到本机上(最好安装在全英文路径下),并为Android SDK配置环境变量。Android SDK的环境变量值为SDK安装目录下的platform-tools文件夹和tools文件夹子目录路径,如我的分别为:E:\My Studying\Android\android-sdk\platform-tools、E:\My Studying\Android\android-sdk\tools,在变量值中,两个路径用逗号隔开。
&②打开命令提示符(cmd),分别输入android -h和adb命令,显示如下图则说明Android SDK环境变量已经配置好了。
③打开Android SDK的安装目录,双击 "SDK Manager"-&在打开的窗口中先选择你需要安装的SDK版本,其中“Status”表示该SDK包是否安装,如我选的是“Android2.2(API 8)”(我的之前已经安装过了,所以“Status”为“Installed”)-&再点击“Install packages...”按钮,在弹出来的窗口中最好选“Accept All”这样才能安装你刚才选的所有的包-&最后点“Install”按钮就开始安装了,整个过程会很慢,这需要你的耐心。
另外我们还可以通过在Eclipse上的工具栏中点击下图指示的图标打开“SDK Manager”然后进行安装,这样和上面的SDK安装方式一样,就不累述了。
&&&&&&&&&&& ④最后再选择Eclipes主菜单上的"Windows"-&选择"preferrnces";
&⑤在弹出来的对话框中选中左边栏的“Android”-&通过右侧的“Browse...”按钮选择SDK的安装路径根目录-&点击最下方的“Ok”按钮,这样SDK就在Eclipse上加载成功了。
&4、创建Android模拟器(AVD):
①打开Eclipse-&在Eclipse的工具栏上单击下图指示的图标打开“Android Virsual Device Manager”窗口;
②在“Android Virsual Device Manager”窗口单击“New”按钮-&在弹出来的窗口中"Name"可以随便取;“Target”指模拟器的系统版本;“SD Card”的"size"是指手机存储卡的大小,只要你不在模拟器上装太多的应用,一般给个二三十MB就够了;“Skin”是指屏幕的分辨率大小,其中“Built in”是一般手机常用标准屏幕分辨率大小,而“Resolution”是自定义屏幕分辨率大小,具体做法,可以根据自身情况选择。-&一切设置好后点击“Create AVD”,这时一个模拟器就创建好了。如果有必要,我们可以创建多个模拟器用于测试时使用。
&附:Android模拟器型号以及其对应的分辨率大小:
至此为止,在Eclipse上就已经成功搭建Android开发环境了,下面让我们看看如何新建第一个Android项目。
&二、新建Android一个项目
①打开Eclipse,单击菜单栏的“File”-&把鼠标光标移动到“New”-&在弹出的列表框中,如果直接能看到“Android Applicaion Project”选项项,则直接单击此选项,否则选择最下面的“Other...”,在弹出的窗口中,展开“Android”项,选择“Android Applicaion Project”,然后“Next”;
其实还有一个方法就是直接点Eclipse工具栏的如下图所指示的图标:
&②在新弹出的窗口中按下图提示填写相关信息,一路“Next”,直到点击“Finish”,这样第一个Android程序就创建好了,这是你会发现Eclipse左边多了一个你新创建的Android项目。
三、编译Android项目
&按下图所示选中项目-&单击鼠标右键,在弹出的列表框中选择“Run As”-&单击“Android Application”,这时会发现模拟器自动启动,等到模拟器完全启动好后,就可以看到项目的编译结果了。有没有看到一些东西觉得很眼熟呢?其实那是你在创建这个项目时做的,开启你的Android之旅吧。
以上所述若有不妥,欢迎拍砖!
四、Android创建新项目及开发项目
创建一个新项目是很简单的,只要你安装了Eclipse插件,并且你的Eclipse软件版本在3.2或3.3,你就可以开始开发了。
首先, 看一下要创建"Hello, World"程序从高级层面上有哪些步骤:
1, 通过 File -& New -& Project 菜单,建立新项目"Android Project"
2, 填写新项目各种参数。
3, 编辑自动生成的代码模板。
仅此而已,我们通过下面的详细说明来完成每个步骤。
1、创建一个新的Android项目
启动Eclipse, 选择 File -& New -& Project 菜单, 如果你安装好了Android的Eclipse插件,你将会在弹出的对话框中看到"Android Project" 的选项。
选择“Android Project”,点击 Next 按钮。
2、填写项目的细节参数
下面的对话框需要你输入与项目有关的参数:
这个表格中详细介绍了每个参数的含义:
Project Name: 包含这个项目的文件夹的名称。
Package Name: 包名,遵循JAVA规范,用包名来区分不同的类是很重要的,例子中用到的是"com.google.android",你应该按照你的计划起一个有别于这个的路径的名称。
Activity Name: 这是项目的主类名,这个类将会是Android的Activity类的子类。一个Activity类是一个简单的启动程
序和控制程序的类。它可以根据需要创建界面,但不是必须的。
Application Name: 一个易读的标题在你的应用程序上。
在"选择栏"的 "Use default location" 选项,允许你选择一个已存在的项目。
3,编辑自动生成的代码。
当项目创建后,你刚才创建的HelloAndroid就会是包含下面的代码.
public class HelloAndroid extends Activity{
/** Called when the activity is first created. */
public void onCreate(Bundle icicle){
super.onCreate(icicle);
setContentView(R.layout.main);
下面我们开始修改它 [构建界面] 当一个项目建立好以后,最直接的效果,就是在屏幕上显示一些文本,下面是完成后的代码,稍后我们在逐行解释。
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
TextView tv = new TextView(this);
tv.setText("Hello, Android");
setContentView(tv);
&&&&&& 注意你还需要添加 import android.widget.TextV 在代码开端处。在Android程序中, 用户界面是由叫做Views类来组织的。
&&&&&& 一个View可以简单理解为可以绘制的对象,像选择按钮,一个动画,或者一个文本标签(这个程序中),这个显示文本标签的View子类叫做TextView.
&&&&&& 如何构造一个TextView:TexiView tv = new TextView(this);TextView的构造参数是Android程序的Context实例, Context可以控制系统调用, 它提供了诸如资源解析, 访问数据库等等。Activity类继承自Context类,因为我们的HelloAndroid 是Activity的子类,所以它也是一个Context类,所以我们能用"this"在TextView构造中。当我们构造完TextView后,我们 需要告诉它显示什么:tv.setText("Hello, Android");这个步骤很简单,当我们完成了这些步骤以后,最后要把TextView显示在屏幕上。 setContentView(tv);Activity的setContentView()方法指示出系统要用哪个View作为Activity的界 面, 如果一个Activity类没有执行这个方法,将会没有界面并且显示白屏。在这个程序中,我们要显示文本,所以我们传入已创建好的TextView。
&&&&&& 好了,程序代码已经写好,下面看看运行效果。运行代码: Hello, Android使用Android的Eclipse插件就可以很轻松的运行你的程序,选择Run -& Open Run Dialog。你将会看到下面的对话框下一步, 高亮"Android Application" 标签, 然后按下左上角的图标(就是像一片纸带个小星星那个), 或者直接双击 "Android Application" 标签, 你将会看到一个新的运行项目,名为"New_configuration".取一个可以表意的名称,比如"Hello, Android", 然后通过Browser按钮选取你的项目(如果你有很多个项目在Eclipse中,确保你选择要运行的项目), 然后插件会自动搜索在你的项目中的Activity类并且将所有找到的添加在"Activity"标签的下拉列表中。我们只有"Hello, Android"一个项目,所以它会作为默认选择。点击"Apply" 按钮,已经完成了,你只需要点击"Run"按钮,然后 Android的模拟器将会启动,你的应用程序就会被显示出来。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具Android开发必备:Eclipse 4.2 SR2版本发布
发表于 16:19|
作者杨依帆
摘要:著名跨平台开源集成开发环境Eclipse迎来了Eclipse 4.2 SR2修订版发布,修复了先前版本的162个Bug。作为Java编程的主要工具之一,Eclipse同样受到广大Android开发者的青睐。
是著名的跨平台开源集成开发环境。最初主要用来Java语言开发,目前也有人通过插件使其作为C++、Python、PHP等其他语言的开发工具。Eclipse本身只是一个框架平台,但是众多插件的支持,使得Eclipse拥有较佳的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。在Android开发方面,Eclipse称得上大部分Android开发者必用的工具。Eclipse基金会近日发布了Eclipse 4.2的第二个修订版本:Eclipse 4.2.2(也即Eclipse Juno SR2)。Eclipse基金会已经在其官网上公布了。Eclipse此次修订版是针对先前的4.2版本的全方位的Bug修复。新的核心包修复了先前的大量Bug,目前统计到的共计162个,详情可。国外程序员在和Twitter上都针对新版本展开了探讨。(Web Tools Platform)最近也从旧版3.4.1更新至3.4.2。Eclipse开发界面Eclipse历史版本介绍:Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会管理。2003年,Eclipse 3.0选择OSGi服务平台规范为运行时架构。2007年6月,稳定版3.3发布;2008年6月发布代号为Ganymede的3.4版;2009年6月发布代号为Galileo的3.5版;2010年6月发布代号为Helios的3.6版;2011年6月发布3.7版本,代号Indigo;2012年6月发布4.2版本,代号Juno。Eclipse 4.3版本预计于今年6月26日发布,代号为Kepler。(编译/杨依帆 责编/张宁)文章来源:本文为CSDN编译整理,未经许可或授权不得转载。如需转载请联系。
推荐阅读相关主题:
CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
相关热门文章使用 Eclipse 和 Android 小部件进行 Android 开发的简介
简介Android 是一种移动操作系统,类似于 Symbian、iOS、Windows®
Mobile 等。它最初是由 Android Inc. 开发的,该公司后来被 Google 收购了。现在它归 Open Handset Alliance 所有,是完全开源的,日益普及起来。
Google 在 Apache 权限下发布了大部分 Android 代码。通过该权限,供应商可以添加专用扩展,而无需将它们提交回开源社区。Android 的许多版本从一开始就打入市场(最新版自 2010 年第三季度起),包括精装的 Froyo (V2.2)。Android 已发展为不仅仅是移动设备的平台;新的 Google TV 也运行于 Android 之上。Android 使用改进的 Linux® 内核,允许应用使用 Java 库的 Java™ 技术开发应用程序(其中一些由 Google 为 Android 而开发)。虽然 Android 应用程序是用 Java 语言编写的,但是在平台中没有 Java Virtual Machine,且 Java 字节代码不被执行。Java 类被重新编译为 Dalvik 可执行文件且在 Dalvik 虚拟机上运行。Dalvik 是一种改进的 Android 虚拟机,是以低 CPU 靠电池供电运行的优化设备。 对于开发人员,Android SDK 提供丰富的工具集,包括调试器、库、手机仿真器、文档、样例代码和教程。使用 Eclipse(Android 的官方开发平台)并在一个名为 Android Development Tools (ADT) 的插件的辅助下,可以轻松开发 Android 应用程序。这有助于利用 Eclipse 的丰富特性,比如内容辅助、Java 搜索、开放源码、JUnit 集成,以及用于开发 Android 应用程序的不同视图和透视图。类似于 Java
swing 小部件的一系列广泛的小部件,有助于为应用程序创建丰富的 UI。详细的 Javadoc 使开发过程相当简单。这里,我们首先指导如何为 Android 开发准备系统。然后我们使用基本的 Hello World Android 应用程序简要地谈谈 Android 应用程序的突出特征。我们还要谈到组成 Android 应用程序的文件,以及 UI 是如何与实现分离的。在完成从 Eclipse 创建、开发和启动 Android 应用程序的过程之后,我们接着讨论一些有助于构建丰富的 UI(移动应用程序中非常重要的一部分)的 Android 小部件。我们使用样例应用程序展示一些基本的小部件。我们还讨论在电话簿般的应用程序中使用 listView 小部件,以及实现它的方式。期间,我们还将讨论为能够让应用程序访问操作系统上的一些数据而需要设置的权限。总地来说,在这篇文章上花费几个小时,您就可以创建一个实现基本功能且具有美观 UI 的应用程序。系统要求在开始 Android 开发之前,请确保安装了以下工具:— 建议对最新的 Android SDK 使用 V3.5。这可以从 Galileo 下载页面进行下载。— 这是一个
Eclipse 插件。它等同于用于 Android 开发的 JDT (Java Development Tools)。请遵循详细说明安装 ADT 插件,并设置 Android SDK 在
Eclipse 中的位置。Android 术语典型的 Android 应用程序具有如下组件。同时下面还有
提供的定义:活动 — 一个活动 呈现方便用户进行集中工作的直观 UI。例如,一个活动可能呈现可供用户选择的一个菜单项目列表,或者它可能显示照片及其字幕。一个文本消息传递应用程序可能有一个活动,显示要发送消息的联系人列表,而其他活动用于审查旧消息或更改设置。尽管它们共同协作形成一个紧密结合的 UI,每个活动都独立于其他活动。内容提供者 — 一个内容提供者 将特定的应用程序数据集提供给其他应用程序。数据可存储在文件系统中,存储在 SQLite 数据库中,或以任何其他合乎逻辑的形式存在。服务 — 一个服务 没有一个直观的 UI,但是无限期地在后台运行。例如,一个服务可能在用户关注其他事项时播放背景音乐,也可能通过网络获取数据或进行一些计算并将结果提供给需要它的活动。广播接收器 — 一个广播接收器 是一个仅接收和响应广播公告的组件。许多广播源自系统代码 —
时区变化公告,低电量公告,语言偏好变更,等等。值得了解的一些其他术语: 意图 — 活动、服务和广播接收器由一个名为意图 的异步消息激活。一个意图是一个保留消息内容的 Intent 对象。例如,他可能传达出一个请求,让活动呈现图像给用户或让用户编辑一些文本。 意图过滤器 — 一个意图过滤器可以显式地指定一个目标组件。如果它这么做,Android 会找到该组件(基于清单文件中的声明)并激活它。但是,如果未显式指定目标,Android 必须找到最好的组件来响应意图,即比较 Intent 对象与潜在目标的意图过滤器。一个组件的意图过滤器告知 Android 组件能够处理的意图。要了解这些组件,请参阅 “” 和 Android 。创建一个 Android Virtual Device在创建一个可在其上运行和测试应用程序的 Android 手机仿真器/Android Virtual
Device (AVD) 时需要用到这一步。注意,AVD 要启动需要一些时间。好消息是,部署和测试每个应用程序不需要单独的 AVDs。启动 AVD 之后,可在它运行的同时部署任意数量的应用程序,它甚至还可用于调试应用程序。要创建一个 AVD: 在 Eclipse 中,选择 Window & Android SDK 和
AVD Manager。
选择 Virtual Devices in the left panel. Click New。Create New AVD
对话框出现。 输入 AVD 的名称,比如 “myPhone”。选择一个目标。目标是要在仿真器上运行的平台(即 Android SDK 版本,比如 2.1)。您还可选择 Google APIs,但这不必要,除非我们想特意在应用程序中拥有一些 Google API。其余字段可暂时忽略。
单击 Create AVD。一旦启动 AVD,您可以看到它如何为真正基于 Android 的移动应用程序提供完整的外观,备有键盘和多触摸支持。它还可在用于测试应用程序的各种配置中用到,比如横向/纵向模式、网络优势和漫游网络,等等。所有这些选项都可使用 AVD 管理器得到配置。AVD 自我足以模拟各种可用的设备。您可以为不同的配置创建不同的 AVDs,并在每个上面测试您的应用程序,以确保它在不同类型的设备中是兼容的。创建一个新 Android 项目下面展示如何在 Eclipse 中创建一个新的 Android 项目(见图 1):从 Eclipse 中选择 File & New & Project。如果成功安装了 Eclipse 的 ADT 插件,一个名为 Android 的文件夹应当出现在对话框中。展开该文件夹,应当可为新的 Android
项目提供选项。选中它并单击 Next。您会被提示在一个表单中填写以下详细信息:Project name— 这是您的项目的名称,可以是类似 “HelloWorld” 之类的名称。Application name— 在运行您的应用程序时,这是会在您的 Android 设备中任何地方出现的名称,且其图标出现在菜单、快捷方式中以及标题栏上。该名称可以类似于 “Hello Android”。Package name—com.example.helloandroid 或您自己的私有名称空间。包名称与 Java 语言中的那些遵循相同的规则。Create activity— 为了我们这里的目的,我们可以称其为 SaySomething。这是将由 ADT 生成的类存根的名称。这将是 Android 的 Activity 类的一个子类。一个活动仅仅是一个可运行且执行一些工作的类。它可以选择拥有一个 UI。一个应用程序可能包含一个或多个活动。它们通常与在应用程序中找到的屏幕存在 1:1 关系。一个应用程序通过调用一个称为 startActivity() 或 startSubActivity() 的方法从一个活动移动到另一个活动。Min SDK version— 这指定应用程序需要的最低 API 级别。最新版为 7。图 1. 创建一个新
Android 项目Hello Android 项目详情Hello Android 是一个基本的 Android 项目,该项目仅打印 Hello
World 到屏幕上。它在本文中具有以下作用: 展示创建新 Android 项目的流程。 概览一个 Android 项目中的文件及其用途。 展示如何部署一个应用程序到 AVD 上并测试它。要查看文件和 Android 项目的其他资源部分,并使用 Eclipse 内的 Package Explorer 视图(Window & Show View
& Package Explorer)。新创建的 Android 项目将包含以下内容(参见图 2):有两个包含源代码的文件夹:src 包含用户指定的所有类,包括默认的活动类。gen 包含该文件夹内的 ADT. R.java 自动生成的文件,该文件夹包含对 res 文件夹中存在的所有资源的静态引用,这样就可以轻松、动态地通过 Java 代码引用它们。建议不要手动修改 R.java 的内容。图 2. Hello Android
项目内容res 文件夹包含用于项目的所有资源:图标、图像、字符串和布局。拥有一个独立的资源文件夹可将非源代码资源保留在代码外部,并可基于硬件、软件、方向和位置动态地选择资源。 它包括:drawable 文件夹 — 针对所有图像文件。layout 文件夹 — 针对以 XML 代码形式指定活动 UI 屏幕的布局。Main.xml 是自动生成的。该文件夹涉及到默认的纵向布局。为在横向布局(当一个 Android 设备旋转 90 度时)中表示一些 UI,创建一个 layout-land 文件夹并将您的布局 XML 文件放在那里。main.xml 文件有一个漂亮的 UI 表示,如图 3 所示。您可以将不同的布局和视图拖放到一个空白屏幕,以构建活动的 UI 组件。values 文件夹 — 针对所有名称-值对(您的应用程序要定义的字符串)。AndroidManifest.xml 也是项目的一个重要部分。它等同于插件的一个 plugin.xml 文件。它主要定义应用程序中的活动,并指定为每个活动指定的操作。它还列出应用程序执行各操作所需的权限。它也有一个漂亮的 UI。图 3. main.xml 的 UI让我们在磁盘上看一下项目文件夹的实际内容。在 Eclipse 中打开 Navigator View(Window & Show
View & Navigator)。您会获得 HelloWorld 项目的结构,如图 4 所示。除了编译的类文件之外,您会在一个 bin 文件夹中获得下面三个文件: classes.dex — 从编译类生成的可执行文件。 HelloWorld.apk — 将会附加到 Android 设备的压缩存档文件。可通过该存档文件将应用程序安装到任何 Android 设备上。 resources.ap_ — 压缩的应用程序资源。Android 项目的目录结构应用程序的主要 “Activity”让我们看一下 MainActivity.java。清单 1. MainActivity.javapackage com.example.
import android.app.A
import android.os.B
public class MainActivity extends Activity {
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}有关该文件需要注意的事项:MainActivity 扩展一个名为 Activity 的 Android 基类,该类位于 android.app 包内。onCreate() 方法是该活动的默认入口点,必须为每个新活动实现。它接收一个 Bundle 类型的参数。创建活动所需的选项和参数被传递到该参数中。setContentView() 负责使用 R.layout.main 参数创建主 UI。这是在 R.java 中定义的一个常量,表示在应用程序资源中找到的主要布局。Main.xml这个 XML 文件描述应用程序的 UI。一个活动可以引用这个 UI。不过,这个 UI 根本不会将自身绑定到任何活动。一个 UI 是使用布局和小部件构建的。Eclipse 默认构建的 main.xml 包含一个 LinearLayout,这表示所有元素都以单一列安排。然后它定义一个 textView,用于显示一个不可编辑的静态文本。在本例中是 strings.xml 文件中定义的 “hello” 字符串(‘@’ 标记是指在 res 文件夹中定义的文件)。每个视图元素还有属性,比如 layout_height
和 layout_width 等等。 图 5. Main.xml 和属性视图使用 main.xml 文件的一个简单方式是通过属性视图(Window & Show
View & Other & General & Properties)。在概览视图中选中特定视图时,属性选项卡中填充有视图的所有可能属性,如图 5 所示。这些属性大部分只有固定值可供选择,可以从属性选项卡中靠近每个属性的下拉菜单中选择。例如,要设置 layout_height,您可以查看下拉框,发现它仅有两个允许值:wrap_content 和 fill_parent。(wrap_content 将仅以原始大小绘制视图,而 fill_parent 会将其延伸到覆盖整个高度或宽度,或两者兼而有之。)注意:对于 layout_height 和 layout_width,您还可以指定以下两个单位的大小:(a) 与密度无关的像素(dp)— 该大小可使布局从不同屏幕大小的设备查看时看起来一样。例如:layout_width = 10dp;(b) 与尺度相关的像素(sp)— 类似于 dp,但这是推荐的移动电话标准。例如:layout_width = 10sp。另一点需要注意的是,如果您希望通过 Java 代码引用一些视图/小部件,需要有一个惟一 ID。如果您使用 main.xml 的布局选项卡来拖放一个小部件,ADT 会自动为小部件创建一个 ID,其形式为 “@+id/someView”。在 Java 代码中,您可以将其引用为 R.id.someView。 在仿真器上运行应用程序为部署和运行应用程序,您需要定义一个运行配置。在 Eclipse 内选择 Open & Run & Dialog 或工具栏上的快捷方式,并选择 Android application。单击 New 并填写运行配置的名称。指定项目名称和默认活动。然后在目标选项卡中,选择一些想要的仿真器设置并指定希望启动的 AVD。单击 Run。您会获得如图 6 所示的 AVD。左边显示设备的屏幕,左下方是 QWERTY 小键盘,左上方是常见的移动设备按钮,比如拨号、挂断、静音、音量和主菜单。图 6. Android Virtual
DeviceAndroid 小部件我们已经知道如何创建和运行一个基本的 Android 应用程序了,现在让我们使用小部件来进行装饰(见图 7):textView 包含 editText、Button 等小部件。可将 Buttons 进一步划分为:
CheckBox RadioButton ToggleButton 等 ImageView 包含 ImageButton 等小部件。 ViewGroup 包含以下布局:
Relative Layout Table Layout Frame Layout Adapter View Linear Layout欲了解有关小部件的信息,“” 是最好的指南。但是要注意因 Android 平台的快速变更而引入的不一致性。一个突出的例子就是,使用 id 作为上述指南中 main.xml 中的小部件的标识符属性。在最新的 Android 平台中,应当使用完全限定的 android:id。 图 7. Android 小部件的层次结构使用小部件的样例应用程序现在我们要修改现有应用程序,使其像图 8 中所示的那样。本例的目的在于让读者熟悉在真实应用程序中对 textView、editText、Button 和 Toast 等一些基本小部件的使用。我们的应用程序将包含一个标题栏,其中含有 “WELCOME!!!” 消息。它将有三个 textView 小部件,从顶部开始垂直排列:一个是用默认字体表示的 “Hello World, how're you?”;第二个是 “Welcome to my first Android app”,斜体衬线文本,居中对齐,带白色背景;第三个是 “Type anything
and press the button”,粗体等宽文本,带红色背景。这些之后是一个 editText 小部件,用于接受用户输入,然后是一个按钮小部件(按钮上显示 “Click Me!” 消息)。按下按钮时,在 editText 小部件中输入的任何内容都会出现在屏幕底部中心的 Toast 小部件中。这里不需要太多的实现代码。读者应当注意如何使用 ADT 的 GUI 编辑器为 XML 文件轻松将小部件放到应用程序中,以及如何使用由 Eclipse 提供的 “属性” 视图方便地设置小部件属性。本例将展示如何对 UI 和实现部分进行独立编码。图 8. 带有小部件的 Android
Virtual Devicestring.xml让我们在 string.xml 文件中添加一些新的字符串,更改现有的 welcome 字符串,最后是标题字符串。另外为两个 textViews 分别定义白色和红色背景。清单 2. string.xml 文件&?xml version="1.0" encoding="utf-8"?&
&resources&
&string name="hello"&Hello World, how\'re you?&/string&
&string name="app_name"&Hello Android&/string&
&string name="title"&WELCOME!!!&/string&
&string name="mainText"&Welcome to my first android app&/string&
&string name="subText"&Type anything and press the button&/string&
&color name="White"&#FFFFFF&/color&
&color name="Red"&#FF0000&/color&
&/resources&我们将 “hello” 字符串更改为包含 “Hello World, how're you?”。注意,这里的单引号需要转义字符('\')。我们还定义了两个新的字符串:mainText 和 subText,分别用白色和红色背景。main.xml让我们使用 main.xml 的布局选项卡来拖放两个新的 textViews:一个 editText 小部件和一个按钮小部件。然后我们将使用 main.xml 中的属性选项卡来编辑每个小部件的属性。清单 3. main.xml 文件&?xml version="1.0" encoding="utf-8"?&
&LinearLayout xmlns:android="/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/mainTextView"
android:gravity="center"
android:text="@string/mainText"
android:textStyle="italic"
android:typeface="serif"
android:background="@color/White"&
&/TextView&
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_margin="20sp"
android:gravity="left"
android:id="@+id/subTextView"
android:padding="10sp"
android:text="@string/subText"
android:textStyle="bold"
android:typeface="monospace"
android:background="@color/Red"&
&/TextView&
android:text="Enter text here"
android:id="@+id/EditText01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"&
&/EditText&
android:text="Click me!"
android:id="@+id/Button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"&
&/LinearLayout&至此,我们定义了我们的 UI。现在需要将我们的活动代码与它相链接。MainActivity.java这是将 UI 链接到实现的文件。如同 HelloWorld 应用程序,我们使用 Activity.onCreate(Bundle) 方法来装饰屏幕上的所有 UI。已重写的 onClick(View) 方法将包含按钮点击的功能,其中用户输入文本会被读取并显示在 toast 小部件中的屏幕上。清单 4. MainActivity.java 文件package com.example.
import android.app.A
import android.os.B
import android.view.V
import android.widget.B
import android.widget.EditT
import android.widget.T
public class MainActivity extends Activity {
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String title = getString(R.string.title);
setTitle(title);
// done so that we can change the default title
//get handles to editText and button widgets
final EditText eText = (EditText) findViewById(R.id.EditText01);
final Button button = (Button) findViewById(R.id.Button01);
button.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v) {
//get the String entered into the editText widget
CharSequence editText = eText.getText();
//display the toast
Toast.makeText(MainActivity.this, editText, Toast.LENGTH_LONG).show();
}使用该代码,我们会得到如图 8 所示的应用程序。使用 listView 小部件:一个简单的样例应用程序在本部分中,我们将创建一个样例应用程序(见图 9a,9b)来使用 listView 小部件显示电话簿中的所有联系人。本例的目的不止在于展示 listView 小部件的使用,而且展示如何使用 ContentProvider 和
ContentResolver 类获取电话数据。要留意 UI XML 文件,因为有两个 UI 布局:一个用于指定 listView 小部件显示的列表如何适应主 UI,另一个用于指定列表的每个元素的外观如何。另一个要点是,为使应用程序能够读取电话数据而进行的权限设置。该例是理解如何将意图和意图过滤器纳入应用程序的第一步。尽管意图不在本文讨论范围之内,读者可能会注意到,要将这个示例应用程序转化为实际电话簿应用程序,只需对列表项目实现点击操作,并创建一个呼叫意图和意图过滤器来发起对选定联系人的呼叫。在本例中,联系人将以垂直线性方式显示,且选定的联系人出现在列表顶部,使用大斜体字体和蓝色背景。屏幕左下角还有一个复选框,选中该复选框时,将仅显示带星号的联系人(或首选联系人)。本例中应用程序的标题是 “Contact Manager”。这里我们使用三类小部件:textView、listView 和 checkBox。我们使用 textView 小部件来显示当前选中的联系人。您可以将 listView 小部件看作是 textView 小部件的列表。一个 listView 使用适配器设计模式来将数据(在本例中是联系人)和数据视图(在本例中是 textView)连接到 listView。在 listView 上的任何点击操作都可通过实现 AdapterView.OnItemClickListener() 被捕捉到。 在继续之前,我们应当在 Android 仿真器(AVD)的联系人部分拥有一些存储的联系人。为此,点击 AVD 主屏幕上的 Contacts,然后点击 Menu 来获取 Add Contacts 选项。Favorites 部分描述如何将联系人标记为首选的或带星号的。图 9a. 联系人应用程序在一个 listView 小部件中显示所有联系人图 9b. 联系人应用程序在选中 show-starred contacts 复选框时在一个 listView 小部件中显示所有带星号的联系人现在我们要定义一些字符串。清单 5. strings.xml 文件中定义的字符串&?xml version="1.0" encoding="utf-8"?&
&resources&
&string name="hello"&Hello World, Manager!&/string&
&string name="app_name"&Contact Manager&/string&
&string name="selectedEntry" /&
&color name="White"&#FFFFFF&/color&
&color name="Black"&#000000&/color&
&color name="Blue"&#0000FF&/color&
&string name="showStarred"&Show starred contacts only&/string&
&/resources&main.xml让我们为我们的应用程序定义主布局。listView 小部件将提供电话簿中所有联系人的列表。listView 显示 textView 小部件内的每个项目,这是我们接下来要定义的。清单 6. main.xml&?xml version="1.0" encoding="utf-8"?&
&LinearLayout xmlns:android="/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:id="@+id/selectedContact"
android:padding="10dp"
android:textSize="20sp"
android:textStyle="italic"
android:typeface="serif"
android:background="@color/Blue"
android:textColor="@color/White"
android:text="@string/selectedEntry"/&
android:id="@+id/contactsListView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"&
&/ListView&
&CheckBox android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/showStarred"
android:text="@string/showStarred"/&
&/LinearLayout&注意,将 listView 的 layout_weight 设置为 1 可确保列表能尽可能多地覆盖屏幕,直到有新的小部件被定义。contactItem.xml除了主布局之外,这里我们需要定义另一个布局。这是为了表示 listView 中的每个元素。在这里我们使用一个简单的 textView。清单 7. textView 小部件的代码,构成 listView 小部件的每个元素&?xml version="1.0" encoding="utf-8"?&
xmlns:android="/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:textStyle="bold"
android:id="@+id/contactItem"&
&/TextView&注意,Android 默认提供一个可用的简单布局,而不用定义您自己的布局。这可以通过 android.R.layout.simple_list_item_1 得到引用。 ManageContacts.java清单 8 展示如何实现主活动。我们使用 populateContactList() 方法来查询联系人数据库并在 listView 中显示它们。清单 8. 主活动的实现public class ManageContacts extends Activity {
private ListView mContactL
private CheckBox mCheckB
private boolean mShowS
private TextView selectedT
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mContactList = (ListView) findViewById(R.id.contactsListView);
mCheckBox = (CheckBox) findViewById(R.id.showStarred);
selectedText = (TextView) findViewById(R.id.selectedContact);
mShowStarred =
mCheckBox.setOnCheckedChangeListener(new CheckChangedListener());
mContactList.setOnItemClickListener(new ClickListener());
populateContactList();
public void populateContactList() {
Uri uri = ContactsContract.Contacts.CONTENT_URI;
String[] projection = new String[] {
ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME,
String[] selectionArgs =
String sortOrder = ContactsContract.Contacts.DISPLAY_NAME +
" COLLATE LOCALIZED ASC";
String selection = mShowStarred? ContactsContract.Contacts.STARRED +
Cursor c = getContentResolver().query(uri, projection, selection, selectionArgs,
sortOrder);
String[] fields = new String[] {
ContactsContract.Data.DISPLAY_NAME
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.contactitem,
c, fields, new int[] {R.id.contactItem});
mContactList.setAdapter(adapter);
private class ClickListener implements OnItemClickListener {
public void onItemClick(AdapterView&?& arg0, View textView, int pos, long arg3) {
if(textView instanceof TextView)
selectedText.setText(((TextView) textView).getText());
private class CheckChangedListener implements OnCheckedChangeListener {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
mShowStarred = isC
selectedText.setText("");
populateContactList();
}需要注意的事项: 我们有两个侦听器 — 一个用于处理对列表项目的点击,另一个用于处理对复选框的点击。前者仅将蓝色 textView 框中的文本设置为当前选中联系人的显示名称。后者将设置 mShowStarred 字段并重新填充列表。 要读取电话数据库中的联系人,我们需要通过查询它获取一个游标。查询具有以下参数:uri— 为要检索的内容使用 content:// 模式的 URI。projection— 要返回的列的列表。传递空值将返回所有列,不建议这样做,以防止从不打算使用的存储中读取数据。 selection— 一个声明要返回哪些行的过滤器,被格式化为一个 SQL WHERE 子句(排除 WHERE 本身)。传递空值将为给定 URI 返回所有行。selectionArgs— 您可能还包含 ?s,这将由来自 selectionArgs 的值以它们出现在选取范围中的顺序所取代。该值将被绑定为 Strings。sortOrder— 如何对行进行排序,被格式化为一个 SQL ORDER BY
子句(排除 ORDER BY 本身)。传递空值将使用默认的排序顺序,这个顺序可能是无序的。获得的结果集游标必须通过一个适配器链接到 UI。在这里我们使用一个 SimpleCursorAdapter,不过 Android 还提供一个 ListAdapter。获取适配器之后,我们需要将其附加到 listView,现在完成了。权限应用程序在 Android 设备上成功运行之前的最后一步是设置权限。没有能够读取联系人数据库的权限,设备中的 Linux 内核不会允许应用程序这么做。因此让我们转至 AndroidManifest.xml&Permissions 选项卡,并设置以下权限:android.permission.GET_ACCOUNTSandroid.permission.READ_CONTACTS可以通过点击 U 图标并定义权限来进行这些设置。图 10 展示权限选项卡的外观。图 10. Android 权限清单使用 ListActivity 的 listView 小部件 本例意在展示实现 listView 的另一种方式。在上述应用程序中,注意到我们的主活动实现了活动类。在处理 listView 小部件时,有时 ListActivity 类来得更方便些,因为它有一个公共 APIs 可处理对列表项目的点击、列表适配器的设置、点击位置的获取,等等。 我们可以修改我们的活动来实现 ListActivity,如清单 9 所示。清单 9. 使用 ListActivity 的实现public class ManageContacts extends ListActivity {
protected void onListItemClick(ListView l, View v,
int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
if(v instanceof TextView)
selectedText.setText(((TextView) v).getText());
private CheckBox mCheckB
private boolean mShowS
private TextView selectedT
/** Called when the activity is first created. */
public void
onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mCheckBox = (CheckBox) findViewById(R.id.showStarred);
selectedText = (TextView)
findViewById(R.id.selectedContact);
mShowStarred =
mCheckBox.setOnCheckedChangeListener(new
CheckChangedListener());
populateContactList();
public void populateContactList() {
Uri uri = ContactsContract.Contacts.CONTENT_URI;
String[] projection = new String[] {
ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME,
String[] selectionArgs =
String sortOrder =
ContactsContract.Contacts.DISPLAY_NAME +
" COLLATE LOCALIZED ASC";
String selection = mShowStarred?
ContactsContract.Contacts.STARRED + " ='1'" :
Cursor c =
getContentResolver().query(uri, projection,
selection, selectionArgs, sortOrder);
String[] fields = new String[] {
ContactsContract.Data.DISPLAY_NAME
ListAdapter adapter = new
SimpleCursorAdapter(this,
R.layout.contactitem, c, fields, new
int[]{R.id.contactItem});
setListAdapter(adapter);
private class CheckChangedListener
implements OnCheckedChangeListener {
public void onCheckedChanged(CompoundButton
buttonView, boolean isChecked) {
mShowStarred = isC
selectedText.setText("");
populateContactList();
}注意,这里我们仅实现了 ListActivity 的 onListItemClick 方法,而非声明一个匿名类来处理点击。在这里我们也不需要引用在 main.xml 中定义的 listView 小部件,因为 ListActivity 假定已经定义了 ID 为 @android:id/list 的 listView 小部件。这一点需要注意。每当我们使用 ListActivity 时,我们都必须在 main.xml 中定义 listView 小部件,使其 ID 为 @android:id/list;否则,ListActivity 不会知道要引用哪个 listView。结束语在本教程中,我们学习了如何设置 Eclipse 来进行 Android 开发,以及 Eclipse 丰富的特性如何在编写 Android 应用程序的每一步中提供帮助。我们还了解了如何在 Android 仿真器 — AVD 上轻松部署和测试应用程序。我们使用一个 Hello World 示例介绍了 Android 应用程序的突出特性,并了解了组成 Android 应用程序的文件。我们论及了 Android 提供的一些小部件,并看到了它们在实际示例中的使用。您现在应当可以创建一个带有整洁 UI 的酷应用程序了。第一步是扩展联系人应用程序,实现对列表项目的单击操作,以显示电话号码和联系人详细信息,以及一个用于呼叫选定联系人的按钮。还应定义一个意图以及一个意图过滤器,这应当实现呼叫发出功能。Android 是面向移动设备的一个强大平台,而且应用 Java 技术的编码以及 Android Development Tools for Eclipse 使其更易于为初学者所接受。虽然有着丰富的 UI,它广泛的小部件及其将 UI 元素绑定到实现的能力,提供了较大的灵活性,使应用程序变得轻型化。活动、意图、
内容提供者等概念更便于我们管理 UI 和数据元素,并控制它们之间的绑定。它还有大量网络 APIs 可供探究。此外,Google APIs 提供地图、搜索和邮件等功能,这些在 Android 应用程序中都可轻易采用。因此请尽情投入精彩的 Android 世界,任您的想象力自由驰骋。
相关主题您可以参阅本文在 developerWorks 全球网站上的 。
请务必下载 。
获取 。 是用于开发 Android 应用程序的实用导论。
请务必查看 Android 。
“” 提供更多信息。
勿错过 Lars Vogella 的 。
查看一套来自 Elon Computing Sciences Department 的 。
上最新的 。
查阅 “”。
下载来自 Eclipse Foundation 的 。
Eclipse 新手?阅读 developerWorks 文章 “” 了解其来源和架构,以及如何使用插件扩展 Eclipse。
查阅 IBM developerWorks 的 ,扩展您的 Eclipse 技能。 访问 developerWorks 获得丰富的 how-to 信息、工具和项目更新以及,帮助您用开放源码技术进行开发,并将它们与 IBM 产品结合使用。随时关注 developerWorks 和。
或 ,并开始使用来自 DB2®、Lotus®、Rational®、Tivoli® 和 WebSphere® 的应用程序开发工具和中间件产品。
添加或订阅评论,请先或。
有新评论时提醒我
static.content.url=/developerworks/js/artrating/SITE_ID=10Zone=Open sourceArticleID=600454ArticleTitle=使用 Eclipse 和 Android 小部件进行 Android 开发的简介publish-date=

我要回帖

更多关于 eclipseandroid下载 的文章

 

随机推荐