欢迎来到Android世界_第1页
欢迎来到Android世界_第2页
欢迎来到Android世界_第3页
欢迎来到Android世界_第4页
欢迎来到Android世界_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、欢迎来到Android世界!Android 简介在讨论 Eclipse 插件和开发 Android 应用程序之前,我们先看看 Android 的体系结构和一些重要的术语,这会对本教程后面的讨论和您自己构建 Android 应用程序有帮助。Android 术语在 Eclipse 环境中开发 Android 应用程序需要了解 Eclipse 环境和 Android 平台的知识。了解以下术语会有助于用 Eclipse 插件开发 Android 应用程序。Open 这是一个由 Google 公司主导的组织,它由许多Handset Alliance公共和私人组织组成。 Android 这是 Open H

2、andset Alliance 的主打产品。它是一种针对移动设备的开放源码操作环境。 模拟器 模拟另一个系统的软件工具 这常常是在个人计算机(IBM®、Mac、Linux®)上运行的一个环境,它模拟另一个环境,比如移动计算设备。 Linux 一种开放源码的操作系统内核,许多计算平台都使用这种操作系统,包括服务器、桌面计算机、网络设备和移动计算设备。Android 在 Linux 内核上运行。 Dalvik Virtual Machine Dalvik VM 是 Android 产品组合中的一种操作环境,它在运行时解释应用程序代码。Dalvik VM 与 Java VM 相似

3、,但是两者不兼容。 回页首Android 基础知识和必需的工具Android 是一种针对移动平台的开放源码操作系统。到编写本教程时,它是一种纯软件的平台,没有可用的硬件设备。Android 平台被称为一个产品组合,因为它是一系列组件的集合,包括:· 基于 Linux 内核的操作系统 · Java 编程环境 · 工具集,包括编译器、资源编译器、调试器和模拟器 · 用来运行应用程序的 Dalvik VM 简要介绍了 Android 平台的体系结构之后,我们来从市场的角度看看这个平台的一些重要特性。回页首Android 为什么很重要?自从 Android 和最

4、初的 SDK 发布以来,计算机技术新闻界一直非常关注 Android。Android 之所以重要主要有两个原因。 Android 是 Google 进军移动市场的主要行动。移动应用程序领域竞争激烈,新的竞争者很难涉足。Google 拥有大量资源和强大的品牌实力,有能力涉足任何市场。Google 进军移动市场已经好几年了。Android 原来属于另一家公司,Google 通过收购这家公司大大提高了在移动市场上的竞争力。Google 的任何行动都会受到关注,而且引入新平台也很引人注目。Android 同时具备这两个因素。第二个原因是 Android 的应用程序模型与众不同。Android 应用程序

5、并不是需要大量单击操作的纯粹的菜单式应用程序。Android 应用程序中确实有菜单和按钮,但是 Android 在体系结构中引入了一种新颖的设计元素 intent。 回页首intentintent 是一种构造,应用程序可以通过它发出请求,这就像是发出求助信号。intent 可能像下面这样:"Wanted: An application to help me look up a contact" 或 "Wanted: An application to help me display this image" 或 "Wanted: An appli

6、cation to perform this geographic-based search"应用程序可以按照相似或互补的方式进行注册,表明它们有能力或有兴趣执行各种请求或 intent。比如:"Available: Application ready and willing to present contact records in clear, concise manner" 或 "Available: Application ready and willing to perform a geographic search"这些是 Inte

7、ntFilter 的示例,下面将要讨论。回页首IntentFilter 应用程序通过一个称为 IntentFilter 的构造声明它们能够执行某些类型的操作。IntentFilter 可以在运行时进行注册,也可以在 AndroidManifest.xml 文件中设置。下面的代码片段取自一个对 SMS(文本)消息进行响应的 Android 应用程序:清单 1. 对 SMS 进行响应的 Android 应用程序 <receiver class=".MySMSMailBox" > <intent-filter> <action android:val

8、ue="vider.Telephony.SMS_RECEIVED" /> </intent-filter> </receiver>简要介绍 intent 和 IntentFilter 之后,下一节介绍 Android 应用程序的四种主要类型。来迎接新的 Android SDK!我们刚刚发布了 Android 1.0 SDK! 如果你现在正在用旧版的SDK, 那你可能需要做一些工作升级你的开发环境并对你的应用程序做些调整以适应新的 Android 平台.请阅读 升级指南 和 API变化一览 来了解更多信息.如果你想了解详细的

9、不同, 请阅读API差异分析报告.Android 平台 是一个移动设备专用的软件堆, 包括一个操作系统, 中间件以及大量关键应用. 开发者能建立大量应用程序通过Android SDK平台。应用程序使用Java程序语言编写并且在Dalvik上运转, Dalvik是一个运行在Linux内核之上专门供嵌入使用的虚拟机。如果你想要知道怎样开发 Android 的应用程序,你找对地方了。 Androidin开发论坛专门提供多种文档来帮助你学习 Android 和开发基于该平台的移动应用程序。现在Android SDK 1.0版本已经正式推出. 它包括源码框架, 实例工程,开发工具,模拟器,当然还包括你所

10、需要的开发Android应用的全部库文件。特性· 应用程序框架 支持组件的重用与替换 · Dalvik 虚拟机 专为移动设备优化 · 集成的浏览器 基于开源的WebKit 引擎 · 优化的图形库 包括定制的2D图形库,3D图形库基于OpenGL ES 1.0 (硬件加速可选) · SQLite 用作结构化的数据存储 · 多媒体支持 包括常见的音频、视频和静态图像格式 (如 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) · GSM 电话技术 (依赖于硬件) · 蓝牙Bluet

11、ooth, EDGE, 3G, 和 WiFi (依赖于硬件) · 照相机,GPS,指南针,和加速度计(accelerometer) (依赖于硬件) · 丰富的开发环境 包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插件 Android 架构下图显示的是Android操作系统的主要组件。每一部分将会在下面具体描述。应用程序Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。应用程序框架开发人员也可以完全访问核心应用程序所使

12、用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。隐藏在每个应用后面的是一系列的服务和系统, 其中包括; · 丰富而又可扩展的视图(Views),可以用来构建应用程序, 它包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons), 甚至可嵌入的web浏览器。 · 内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人

13、数据库), 或者共享它们自己的数据 · 资源管理器(Resource Manager)提供 非代码资源的访问,如本地字符串,图形,和布局文件( layout files )。 · 通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。 · 活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。 有关更多的细节和怎样从头写一个应用程序,请参考 如何编写一个 Android 应用程序.程序库Android 包含一些C/C+库,这些库能被Android系统中不同的组件使用。

14、它们通过 Android 应用程序框架为开发者提供服务。以下是一些核心库:· 系统 C 库 - 一个从 BSD 继承来的标准 C 系统函数库( libc ), 它是专门为基于 embedded linux 的设备定制的。 · 媒体库 - 基于 PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。 · Surface Manager - 对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。 ·

15、 LibWebCore - 一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。 · SGL - 底层的2D图形引擎 · 3D libraries - 基于OpenGL ES 1.0 APIs实现;该库可以使用硬件 3D加速(如果可用)或者使用高度优化的3D软加速。 · FreeType -位图(bitmap)和矢量(vector)字体显示。 · SQLite - 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。 Android 运行库Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能

16、。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟 机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。 Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了 优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中 的 "dx" 工具转化成.dex格式由虚拟机执行。Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。Linux 内核Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理, 网络

17、协议栈和驱动模型。 Linux 内核也同时作为硬件和软件栈之间的抽象层。Android安装以及Eclipse插件2008-12-07 16:36文章出处:SDK安装首先到到下载SDK的压缩包,直接解压到你需要的目录里。里面的Emulator是一个智能手机模拟器。 然后是安装Eclipse的开发插件。1)在Eclipse的菜单里选择Software Updates > Find and Install.2)在随后出现的窗口里选Search for new features to install,然后“下一步”3)点New Remote Site4)在这里随便给这个远程地址输入一个名字(比如

18、Google Android),在下面输入网址https:/dl-5)在随后结果窗口中,选择Android Plugin > Eclipse Integration > Android Development Tools,然后“下一步”6)接受license后再“下一步”,然后“完成”7)然后点Install All,安装完后重启Eclipse8)重新启动Eclipse后,在Window > Preferences. ,选择Android面板,然后后点Browse.把输入SDK的路径就完成了。调试配置:Eclipse 1.选择RUN2.Open Run Dialog3.选择A

19、ndroid Application4. New(上面的小白纸).看我的文档然后你按照api说的配置run,然后就可以运行了,我运行的界面,在Android中的浏览器中搜索博客园的图片, 用 Eclipse 开发 Android 应用程序Google Android Development Tools Eclipse 插件入门第 3 页,共 11 页文档选项打印本页样例代码对本教程的评价帮助我们改进这些内容Android 应用程序 概述我们来看看 Android 应用程序的四种主要类型:活动、服务、接收器和 ContentProvider。我们

20、还要看看显示用户界面(UI)元素的视图。活动活动是最常用的 Android 应用程序形式。活动在一个称为视图 的类的帮助下,为应用程序提供 UI。视图类实现各种 UI 元素,比如文本框、标签、按钮和计算平台上常见的其他 UI 元素。一个应用程序可以包含一个或多个活动。这些活动通常与应用程序中的屏幕形成一对一关系。应用程序通过调用 startActivity() 或 startSubActivity() 方法从一个活动转移到另一个活动。如果应用程序只需 “切换” 到新的活动,就应该使用前一个方法。如果需要异步的调用/响应模式,就使用后一个方法。在这两种情况下,都需要通过方法的参数传递一个 int

21、ent。由操作系统负责决定哪个活动最适合满足指定的 intent。回页首服务和接收器与其他多任务计算环境一样,“在后台” 运行着一些应用程序,它们执行各种任务。Android 把这种应用程序称为 “服务”。服务是没有 UI 的 Android 应用程序。接收器是一个应用程序组件,它接收请求并处理 intent。与服务一样,接收器在一般情况下也没有 UI 元素。接收器通常在 AndroidManifest.xml 文件中注册。清单 2 是接收器代码的示例。注意,接收器的类属性是负责实现这个接收器的 Java 类。清单 2. 接收器代码 package com.msi.samplereceiver

22、;import android.content.Context;import android.content.Intent;import android.content.IntentReceiver;public class myreceiver extends IntentReceiver public void onReceiveIntent(Context arg0, Intent arg1) / do something when this method is invoked.回页首用 ContentProvider 进行数据管理 ContentProvider 是 Android 的

23、数据存储抽象机制。我们以移动设备上常见的一种数据为例:地址簿或联系人数据库。地址簿包含所有联系人及其电话号码,用户在使用手机时可能需要使用这些数据。ContentProvider 对数据存储的访问方法进行抽象。ContentProvider 在许多方面起到数据库服务器的作用。对数据存储中数据的读写操作应该通过适当的 ContentProvider 传递,而不是直接访问文件或数据库。可能还有 ContentProvider 的 “客户机” 和 “实现”。下一节介绍 Android 视图,这是 Android 在移动设备屏幕上显示 UI 元素的机制。回页首视图Android 活动通过视图显示 UI

24、 元素。视图采用以下布局设计之一:LinearVertical 后续的每个元素都排在前一个元素下面,形成一个单一列。 LinearHorizontal 后续的每个元素都排在前一个元素右边,形成一个单一行。 Relative 后续的每个元素相对于前一个元素有一定的偏移量。 Table 与 HTML 表相似的一系列行和列。每个单元格可以包含一个视图元素。 选择一种布局(或布局的组合)之后,就可以用各个视图显示 UI。视图元素由大家熟悉的 UI 元素组成,包括:· Button · ImageButton · EditText · TextView(与标签相似

25、) · CheckBox · Radio Button · Gallery 和 ImageSwitcher(用来显示多个图像) · List · Grid · DatePicker · TimePicker · Spinner(与组合框相似) · AutoComplete(具有文本自动补全特性的 EditText) 视图是在一个 XML 文件中定义的。清单 3 给出一个简单的 LinearVertical 布局示例。清单 3. 简单的 LinearVertical 布局 <?xml version=

26、"1.0" encoding="utf-8"?><LinearLayout xmlns:android=" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><TextView android:layout_width="fill_parent" android:layout_height

27、="wrap_content" android:text="Activity 1!" /><TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Activity 1, second text view!" /><Button android:layout_width="wrap_content" android:la

28、yout_height="wrap_content" android:text="Switch To Activity 2"id="+id/switchto2"/> </LinearLayout>注意,每个元素有一个或多个属于 Android 名称空间的属性。下一节讨论如何获取 Android SDK 并在 Eclipse 环境中配置它。用 Eclipse 开发 Android 应用程序Google Android Development Tools Eclipse 插件入门第 5 页,共

29、0;11 页文档选项打印本页样例代码对本教程的评价帮助我们改进这些内容构建 SaySomething Android 应用程序本节要使用 Android Developer Tools 创建一个基本的 Android 应用程序,它称为 SaySomething。创建这个应用程序之后,将调试和运行它。New project 向导第一步是创建一个新项目。选择用来创建 Android 项目的向导,如下所示。图 2. New project 向导这个应用程序需要:· Name · Location · Package name · Activity n

30、ame 可以认为这是应用程序的主 “表单” 或屏幕 · Application name 看看这个新项目。图 3. 新的 Android 项目这会创建一个默认的应用程序,可以构建和运行它。可以在 Package Explorer 中查看它的组件。回页首Package ExplorerPackage Explorer(在 Eclipse 的 Java 透视图中)显示 Android 示例应用程序的所有组件,见图 4。图 4. Package Explorer需要注意的组件包括:src 文件夹 包含示例应用程序的包,即 com.msi.ibmtutorial。 R.java Androi

31、d Developer Tools 自动创建这个文件,它提供访问 Android 应用程序的各种资源所需的常量。后面会详细讨论 R 类与资源之间的关系。 SaySomething.java 应用程序的主活动类的实现。 Referenced libraries 包含 android.jar,这是 Android SDK 中的 Android 运行时类的 jar 文件。 res 文件夹 包含应用程序的资源,包括:· 图标 · 布局文件 · 字符串 AndriodManifest.xml 示例应用程序的部署描述符。 接下来,详细研究一下源代码。回页首应用程序的主活动这个

32、示例应用程序由一个活动组成,即 SaySomething。正如前面提到的,SaySomething 类是在 SaySomething.java 文件中实现的。清单 4. SaySomething.java package com.msi.ibmtutorial;import android.app.Activity;import android.os.Bundle;public class SaySomething extends Activity /* Called when the activity is first created. */ Override public void onC

33、reate(Bundle icicle) super.onCreate(icicle); setContentView(R.layout.main); 在这个源代码片段中,要注意几点:· SaySomething 是一个普通的 Java 类,包含包和导入语句。 · SaySomething 扩展 android.app 包中的 Android 基类 Activity。 · onCreate() 方法是这个活动的入口点,它接受一个 Bundle 类型的参数。Bundle 类本质上是 map 或 hashmap 的包装器。在这个参数中传递构造活动所需的元素。本教程不讨

34、论这个参数。 · setContentView(.) 负责用 R.layout.main 参数创建主 UI。R.layout.main 是应用程序资源中主布局的标识符。 下一节讨论示例应用程序的资源。回页首应用程序的资源正如前面提到的,Android 中的资源放在项目的 res 子目录中。资源分为三类:Drawables 这个文件夹包含图形文件,比如图标和位图。 Layouts 这个文件夹包含表示应用程序布局和视图的 XML 文件。后面会详细研究这些文件。 Values 这个文件夹包含 strings.xml 文件。这是为应用程序实现字符串本地化的主要方法。 下一节研究 main.x

35、ml 文件,了解示例应用程序的 UI 资源。回页首main.xml这个示例应用程序包含一个活动和一个视图。应用程序包含一个名为 main.xml 的文件,它代表活动的主 UI 的视觉方面。注意,在 main.xml 中没有指定在哪里使用这个布局。这意味着,如果需要的话,可以在多个活动中使用它。清单 5 给出布局文件的内容。清单 5. 布局文件 <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=" android:orientation="

36、;vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Hello World, SaySomething" /></LinearLayout>这是最简单的布

37、局,其中只有一个垂直的线性布局,这意味着所有元素排成一列。这里有一个 TextView 元素,它与其他开发环境中的标签类似。TextView 代表不可编辑的静态文本。注意,每个视图元素(比如这个示例中的 LinearLayout 和 TextView)都有属于 Android 名称空间的属性。一些属性是所有视图元素都有的,比如 android:layout_width 和 android:layout_height。这些属性可以采用的值是:fill_parent 使视图元素占满可用的空间。也可以认为这就是 “拉伸”。 wrap_content 这个值让 Android 把元素一个接一个地排列,

38、不进行拉伸。 在构建期间,对所有资源进行编译。编译过程的输出之一是 R.java 文件,这个文件向应用程序的其余部分提供资源。下面讨论 R.java 文件。回页首R.javaR.java 文件是在构建时自动创建的,所以不要手工修改它,因为所有修改都会丢失。清单 6 给出这个示例应用程序的 R.java 文件。清单 6. R.java 文件 /* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it fo

39、und. It * should not be modified by hand. */package com.msi.ibmtutorial;public final class R public static final class attr public static final class drawable public static final int icon=0x7f020000; public static final class layout public static final int main=0x7f030000; public static final class

40、string public static final int app_name=0x7f040000; R 类包含一些匿名子类,每个子类包含前面描述的各种资源的标识符。注意,这些类都是静态的。请注意 R.layout.main 代表的元素。这个标识符代表由 main.xml 定义的布局。在活动的 onCreate 方法中使用过这个值:setContentView(R.layout.main);。这就是在运行时把特定的活动(在这个示例中是 SayAnything)和特定的布局(主布局)联系在一起的方法。回页首构建应用程序在默认情况下,每次保存文件时,都将对它们进行编译。图 5. 错误面板我们在源

41、代码中引入了一个错误,即在 setContent 和 View 之间加了一个空格。在保存这个文件时,它被编译并在屏幕底部的 Problems 面板中显示错误。在源代码中纠正这个错误之后,应用程序就能够成功编译,并从问题列表中删除错误。回页首AndroidManifest.xmlAndroidManifest.xml 文件是 Android 应用程序的部署描述符。这个文件列出应用程序中包含的所有活动、服务、内容提供器和接收器,以及应用程序支持的 IntentFilter。下面是这个示例应用程序的完整的 AndroidManifest.xml 文件。清单 7. AndroidManifest.xm

42、l 文件 <?xml version="1.0" encoding="utf-8"?><manifest xmlns:android=" package="com.msi.ibmtutorial"> <application android:icon="drawable/icon"> <activity class=".SaySomething" android:label="string/app_name"> <

43、;intent-filter> <action android:value="ent.action.MAIN" /> <category android:value="ent.category.LAUNCHER" /> </intent-filter> </activity> </application></manifest>请注意以下情况:· 这里指定了源文件中的包名。这里采用与 Java 源文件和导入语句相似的模式。&l

44、t;manifest> 标记的实际作用是 “导入” 这个包中的类。在这个文件中,所有非完全限定的类都属于 package 属性指定的包。 · <application> 标记的一个属性引用了应用程序的一个资源。请注意 drawable 标识符前面的 符号。这里的意思是,在应用程序资源的 drawable 文件夹中寻找名为 “icon” 的资源。 · <activity> 标记包含以下属性和值:o class 属性表示实现这个活动的 Java 类。 o android:label 是应用程序的名称。注意,它来自一个字符串资源。string.xml

45、 文件包含应用程序的本地化字符串。 o <intent-filter> 表示应用程序中可用的 IntentFilter。这是 Android 应用程序中最常见的 IntentFilter。这个过滤器的实际意思是,它实现 “主” 操作(也就是入口点),而且它位于 OS 的启动器中。这意味着可以在 Android 设备上像启动其他应用程序一样,从应用程序主列表中启动它。 下一节讨论如何在 Eclipse 中的 Android 模拟器上启动应用程序。回页首运行应用程序应用程序已经成功地编译了,现在该运行这个示例应用程序了。在 Eclipse 中选择 Open Run Dialog 或工具

46、栏上的快捷按钮。这会打开一个对话框,可以在这里创建启动配置。选择 Android Application 选项并单击 New 的图标。图 6 显示本教程示例所用的值。图 6. Run 对话框指定配置名称。本教程使用的名称是 Tutorial Configuration。在可用项目列表中选择 ibmtutorial 项目(单击 Browse 可以看到可用项目)。在下拉列表中选择启动活动。现在选择 Emulator 选项卡,根据需要指定模拟器设置。可以保持默认设置。有两个设置需要注意,见图 7。图 7. Run 对话框,Emulator 选项卡有几种可供选择的屏幕大小和方向,还有网络选择。如果运行

47、应用程序的移动设备的因特网连接速度不同,网络选择就很重要了。在构造应用程序原型时,选择完整网络速度而且没有延迟。开发了主要功能之后,最好在比较真实的网络环境中进行测试,看看应用程序的响应速度如何。选择 Run 运行示例应用程序。 图 8. 模拟器应用程序已经在模拟器上运行了,现在看看幕后发生的情况。Dalvik Debug Monitor Service(DDMS)将会帮助检查应用程序的运行情况。回页首调试应用程序要想检查正在运行的应用程序中发生了什么情况,就需要查看正在运行的 Dalvik VM。在 Eclipse 中,选择 Window > Open Perspective >

48、 Other。在出现的对话框中选择 DDMS。这会在 Eclipse 中打开一个新的透视图,其中有许多有趣的窗口。下面简要介绍一下 DDMS 透视图中提供的资源:LogCat 是一个日志文件,它记录 VM 中发生的活动。应用程序可以通过 Log.i(tag,message); 在这个日志文件中添加自己的日志项,其中的 tag 和 message 都是 Java 字符串。Log 类属于 android.util.Log 包。图 9 显示 LogCat。图 9. LogCat DDMS 中的另一个方便的工具是文件管理器,可以用它访问模拟器的文件系统。图 10 显示在模拟器上部署本教程示例应用程序的

49、位置。图 10. 在模拟器上部署的示例应用程序用户应用程序部署在 /data/app 目录中,而 Android 内置的应用程序部署在 /system/app 目录中。在 DDMS 中还可以查看正在运行的进程。图 11. 正在运行的进程列表全面讨论 Android 应用程序的调试超出了本教程的范围,更多信息请参见 参考资料。现在的智能手机操作系统已经进入战国时代,老牌的Symbian、Windows Mobile和BREW面临着iPhone和Android等新势力的巨大挑战。最近有些闲暇时间了,可以研究下新手机操作系统的应用程序开发了。下一代的手机内置功能将不再是决定因素,如何让第三方快速开发

50、手机上的应用将是兵家必争的制高点。  我是一个Windows Mobile程序员,而且也做了很久,为什么在新的手机操作系统里选择Android?因为Android和Windows Mobile太像了,为什么这么说?  1,  都是操作系统与手机硬件分离模式,最有趣的是硬件供应商竟然是一家;  2,  可以使用托管代码来进行开发(.NET CF和Java)  3,  免费发布的SDK  4,  IDE集成式开发环境(Visual Studio和Eclipse)  5,  强大的服务器端软

51、件支持(Windows Server、SQL Server、Exchange和Google Online Service)  所以说,从技术方向上来说,Windows Mobile和Android是相同技术的不同实现,体现了以软件和在线服务为核心的思想,区别于iPhone和Symbian的以手机为核心的思路。现在还说不好这两种思路谁对谁错。但是,我不选择iPhone还有一个非常重要的原因:我没有Mac电脑,所以无法搭建开发环境。如果将来iPhone落败,这将是一个非常致命的失误。  开发环境  好了,先来介绍一下开发环境,我的操作系统是Windows Vista,

52、没有安装Visual Studio开发工具(不是我平时的工作用机)。第一步是访问Android主页,通过Google是很容易访问到的。必须承认,Android文档已经比我半年前访问时有很大的提高了,可以很容易地找到如何安装开发环境的指南。对于我们这些非Java 开发者来说,这非常有用。用代码来改变屏幕(垂直或水平)摘自:android.view.IWindowManager windowService = android.view.IWindowManager.Stub.asInterface(android.os.ServiceManager.getService("window&

53、quot;);try     if (windowService.getOrientation() = 0)    /Orientation vertical          windowService.setOrientation(1);  /Orientation horizontal    Log.i("info", "orientation 1 "+windowService.getOr

54、ientation();           else          Log.i("info", "orientation 0 "+windowService.getOrientation();                      

55、0;      catch (DeadObjectException e)    e.printStackTrace();UID1 帖子519 精华0 积分5 阅读权限200 在线时间618 小时 注册时间2008-6-5 最后登录2009-3-18 查看详细资料TOP Android程序开发初级教程(二)摘自:7f020000;    ;    public static final class layout &#

56、160;       public static final int main=0x7f030000;    ;    public static final class string         public static final int app_name=0x7fEclipse开发Google Android应用程序教程(一)摘自:Eclipse开发Google Android应用程序教程(二)摘自:Android Software

57、Developer Kit我们已经大致了解了 Android 平台,现在讨论如何设置 Eclipse 环境来支持 Android 应用程序开发。本节讨论如何获取 Android SDK 并在 Eclipse 环境中配置它。获取和安装 Eclipse如果您还没有安装 Eclipse,那么从 Eclipse Foundation 下载并安装 Eclipse IDE 最新的稳定版。安装包是一个压缩的文件夹。把这个文件夹的内容解压到您计算机上的适当位置。安装程序并不在 Windows® 上创建任何图标或快捷方式。对于本教程,Eclipse 文件夹位于 c:softwareeclipse 目录

58、。双击 eclipse 安装目录中的 eclipse.exe 启动 Eclipse。这会启动 IDE。软件提示您指定一个 “工作空间” 并建议一个默认位置,比如 c:documents and settingsusernameworkspace。选择这个位置或者指定另一个工作空间位置。启动 Eclipse 之后,单击主屏幕上的 Workbench - Go to the workbench 图标。现在该获取 Android SDK 了。获取和安装 Android SDK有针对 Windows、Mac OS X(只有 Intel® 版)和 Linux(i386)的 SDK 安装版。选择适合您平台的最新的 SDK 版本。注意,到编写本教程时,最新的 Android SDK 版本是 m3-rc37a。Android SD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论