-【优秀文档资料】Android开发从入门到精通学习文档(打印版)_第1页
-【优秀文档资料】Android开发从入门到精通学习文档(打印版)_第2页
-【优秀文档资料】Android开发从入门到精通学习文档(打印版)_第3页
-【优秀文档资料】Android开发从入门到精通学习文档(打印版)_第4页
-【优秀文档资料】Android开发从入门到精通学习文档(打印版)_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、android开发从入门到精通android是一种基于linux® v2.6内核的综合操作环境。最初,android的部署目标是移动电话领域,包 括智能电话和更廉价的翻盖手机。但是,android全面的计算服务和丰富的功能支持完全冇能力扩展到移动 电话市场以外。android也可以用于其他的平台和应用程序。本专题提供的教程、技术文章首先带犬家了解 android开发,进而深入到android开发的各个方面。android开发入门 android丿发简介android是google捉供的移动、无线、计算机和通信平台。通过使用android eclipse插件,可 以在强大的eclips

2、e环境屮构建android应川程序。木教程介绍如何用eclipse插件android development tools进彳亍android应用程序开发,包括对android平台和android development tools的介绍,并开发两个示例应用程序。 11 eclipse 丿发 an droid 应川用序android是一种基于linux® v2.6内核的综合操作环境。最初,android的部署目标是移动电话 领域,包括會能电话和更嫌价的翻盖手机。但是,android全曲的计算服务和丰富的功能支持完全 有能力扩展到移动电话市场以外。android也可以用于其他的平台和应用

3、程序。在本文中,阅读对 android平台的简介,并学习如何编写基本的android应用程序。android开发简介开源的设备平台frank ableson,软件设计师简介:android是种某于linux® v2.6内核的综合操作环境。最初,android的部署目标是 移动电话领域,包扌舌智能电话和更廉价的翻盖手机。但是,android全面的计算服务和丰富的 功能支持完全有能力扩展到移动电话市场以外。android也可以用于其他的平台和应用程序。 在本文中,阅读对android平台的简介,并学习如何编写基本的android应用程序。标记木文!发布日期:2009年6月08日级别:初级

4、其他语言版本:英文访问情况2826次浏览建议:0 (添加评论)* * * * *平均分(共3个评分)简介黑莓和iphone却提供了受欢迎的、高容量的移动平台,但是却分别针对两个不同的消费群 体。黑莓是金业业务用户的不二选择。但是,作为一种消费设备,它在易用性和“新奇特性” 方而难以和iphone抗衡。android则是一个年轻的、有待开发的平台,它有潜力同时涵盖移 动电话的两个不同消费样体,甚至可能缩小工作和娱乐之间的差别如今,很多基于网络或有网络支持的设备都运行某种linux内核。这是一种町靠的平台:可经 济有效地进行部署和提供支持,并冃可直接作为而向部署的良好的设计方法。这些设备的ui通常

5、是基于html的,町通过pc或mac浏览器查看。但并不是每个设备都需要通过一个常 规的计算设备来控制。想象一下传统的家用电器,例如电炉、微波炉或而包机。如果您的家用 电器由android控制,并且有一个彩色触摸屏,会怎么样?如果电炉上有一个android ui,那 么操控者英至可以烹饪点什么东西。在木文屮,了解android平台,以及如何将它用丁移动和非移动应用程序。安装android sdk,并构建一个简单的应用程序。下载本文中的示例应用程序的源代码。回页首android 简史android 平台是 open handset alliance 的成果,open handset allianc

6、e 组织由一群共同致力 丁构建更好的移动电话的公司组成。这个组织由google领导,包括移动运背商、乎持设备制 造商、零部件制造商、软件解决方案和平台提供商以及市场营销公司。从软件开发的观点看, android止处在开源领域的中心位置。市场上第一款支持android的乎机是11 htc制造并t-mobile供应的g1。这款设备从设想 到推出花了大约一年的吋间,惟一可用的软件开发工具是一些实行增呈改进的sdk发行版。 随着g1发行日的临近,android团队发布了 sdkv1.0,用丁这个新平台的应用程序也浮出 水面。为了鼓励创新,google举办了两届"android develop

7、er challenges",为优胜的参赛作品提供 数百万美金的奖励。g1问世儿个月z后,随后就发布了 android market,它使用户可以浏览 应用程序,并且可以将应用程序直接下载到他们的手机上。经过大约18个月,一个新的移动 平台进入公众领域。回页首android 平台android有丰富的功能,因此很容易与桌面操作系统混淆。android是一个分层的环境,构建 在linux内核的基础上,它包括丰富的功能。ui子系统包括:窗口视图用于显示一些常见组件(例如编辑框、列表和下拉列表)的小部件android包括一个构建在webkit基础上的口j嵌入浏览器,iphone的mobil

8、e safari浏览器同 样也是以webkit为基础。android提供多种连接选项,包括wifi、蓝牙和通过蜂窝(cellular)连接的无线数据传输(例如gprs、edge和3g)。android应用程序中-项流行的技术是链接到google地 图,以便在应用程序屮显示地址。android软件栈还提供对基于位置的服务(例如gps)和加 速计的支持,不过并不是所有的android设备都配备了必需的破件。另外还有摄像支持。 过去,移动应用程序努力向桌而应用程序看齐的两个领域分别是图形/媒体和数据存储方法。 android通过提供对2d和3d图形的内置支持,包括0pengl库,解决了图形方面的挑战

9、。 由于android平台包括流行的开源sqlite数据库,因此缓解了数据存储的负担。图1显示一 个简化的android软件层次结构。图1. android软件层次结构gn(盟如 加海审j. th| 鹉|"曲0禹nr坤瓯 sfkxi frameworks 阿神珂叶mgr. ipctlkxn wgr.險駅幺oqiwkim prsddfrm囲團如ng. r金同叽 4 *ancfnpjl wliredahifc virtual madiinelidcafie$gri用弄 mwila 0曲冲科舷叶电我ln i益 kernelpcwr h»© syywi. drhrer.

10、prmes头 nw色nrsnt 盟回页首应用程序架构如前所述,android运行在linux内核上。android应用程序是用java编程语言编写的,它们 在一个虚拟机(vm)中运行。需要注意的是,这个vm并非您想象中的jvm,而是dalvik virtual machine,这是一种开源技术。每个android应用程序都在dalvik vm的一个实例屮运 行,这个实例驻留在一个± linux内核管理的进程小,如下图所示。图 2. dalvik vmlnux keri«llinux processmik 询mat nadineandroid应用程序由一个或多个组件组成:活动

11、只有可视ui的应用程序是用活动实现的。当用户从主屏幕或应用程序启动器选择一个 应用程序时,就会开始一个动作。服务服务应该用于任何需要持续较长时间的应川程序,例如网络监视器或更新检查应用程 序。内容提供程序可以将内容提供程序看作数据库服务器。内容提供程序的任务是管理对持久数据的访 问,例如sqlite数据库。如果应用程序非常简单,那么可能不需要创建内容提供程 序。如果要构建一个较人的应用程序,或者构建需要为多个活动或应用程序提供数据 的应用程序,那么可以使用内容提供程序实现数据访问。广播接收器android应用程序可用丁处理一个数据元素,或者对一个事件(例如接收文本消息) 做岀响应。androi

12、d应用程序是连同一个androidmanifest.xml文件一起部署到设备的。androidmanifest.xml包含必耍的配置信息,以便将它适当地女装到设备。它包括必需的类名 和应用程序能够处理的事件类型,以及运行应用程序所需的许可。例如,如果应用程序需要访 问网络一例如为了下载一个文件一那么manifest文件屮必须显式地列出该许可。很多应用 程序可能启用了这个特定的许可。这种声明式安全性有助于减少恶意应用程序损害设备的可能 性。下一节讨论构建android应用程序所需的开发环境。回页首所需的工具开始开发android应用程序的最简捷的方式是下载android sdk和eclipse

13、ide (参见参考资 m)。android 开发可以在 microsoft® windows®> mac os x 或 linux 上进行。本文假设您使用的是 eclipse ide 和用于 eclipse 的 android developer tools 插件。android 应用程序是用java语言编写的,但是是在dalvik vm (非java虚拟机)中编译和执行的。在 eclipse中用java语言编程非常简单;eclipse提供一个丰富的java环境,包括上下文敏感 帮助和代码提示。java代码通过编译后,android developer tools可确

14、保适半地将它打包, 包括 androidmanifest.xml 文件。虽然没有eclipse和android developer tools插件也可以开发android应用程序,但是那样 就需要熟悉android sdk。android sdk是作为一个zip文件发布的,可以将该文件解压到破盘上的一个i录中。由于 有多个sdk更新,建议有意识地组织开发环境,以便在不同的sdk女装z间轻松地切换。 sdk包括:android.jarjava归档文件,其屮包含构建应用程序所需的所有的android sdk类。 documention.html 和 docs 目录本地和网上提供的sdk文档。这些文

15、档的主耍形式为javadocs,以便于在sdk屮 导航大量的包。文档还包括一个高级开发指南和android社区的链接。samples 目录samples t 口录包含各种应用程序的源代码,包括apidemo,该应用程序演示了很多 apl这个示例应用程序可以作为android应用程序开发的良好起点。tools目录包含所有用于构建android应用程序的命令行工具。最常用、最有用的工具是adb实 用程序(android debug bridge)。usb_driver-该口录包含将开发环境连接到支持android的设备(例如g1或android dev 1解锁 开发手机)所需的驱动程序。只有win

16、dows平台的开发人员才需要这些文件。android应用程序对以在实际的设备上运行,也可以在android sdk附带的android emulator 上运行。图3显示android emulator的主屏幕。图 3. android emulatorandroid debug bridgeadb实丿i程序支持一些可选命令行参数,以提供强大的特性,例如复制文件到设备或从设备复 制文件。可以使用shell命令行参数连接到手机本身,并发送基本的shell命令。图4显示在 通过usb线连接到windows笔记本电脑的-个实际设备上运行的adb shell命令。图4使用adb shell命令m*xt

17、ools>adb -d sholl$ nctcfg nctcf91dup0x00880049dunnypdoun0x00088082rnnct0down33520x00001002rnnctldoun0x00001002rnnet2down8.0.0«00x00801002t iwlan0up050x000010431$ echo $pfithleclw $pathl/sbin :

18、/5ir5tcr/sbin s/systen/binx/systcrzxbinu cd /dataapp cd /data/&pp n n is -1is 1r seston861s 2009-03-22 18:38 con .ns flashlight <tpk"ping google.conping google c(mp1hg google ccm <74.12s.4s.1o0> s6<84> bytes of data.64 bytesfronyx-in-f100.google.con<00>:icnp_

19、scq«ltt1=241tlno»99>3 nu64 bytesfronyx-in-f 100.google cor<74-125.45 <100>:icnp_8eq«2241t inek110 ns64 bytesfrom4fx-in-fl00googlccon<?4<125.45.100>:icnp_5cq-3ttl*241tdnc*126 hv广cm:tools>.在这个shell环境中,可以: 显示网络配宜,网络配置可显示多个网络连接。注意这多个网络连接:o io是本地或loopback连接。o tiwlan

20、o是wifi连接,该连接由木地dhcp服务器提供一个地址。显示path环境变量的内容。执行su命令,以成为超级用户。将冃录改为/data/app,其中存放用户应用程序。 列出包含某个应用程序的口录。android应用程序文件实际上是归档文件,可通过 winzip z类的软件查看。扩展名为apko 发出ping命令,査看g是否可用。从相同的命令提示符环境屮,还可以与sqlite数据库交互,启动程序以及执行许多其他系统 级任务。想像一下您正在连接到电话,因此这是非常了不起的功能。在下一节,您将创建一个简单的android应用程序。回页首编写一个基本的应用程序本节展示如何构建一个android应用程

21、序。示例应用程序非常简单:一个修改后的“hello android”应用程序。您将进行一个微小的修改,使屏幕背景全部变为门色,以便把手机用作手 电筒。这个例了不是很有创意,但是可以作为一个有用的例了。请下载完整的源代码。为了在eclipse中创建应用程序,选择file > new > android project,这将启动new android project 向导。图 5. new android project 向导接下來,创建一个简单的应用程序,该应用程序有一个活动,并且在main.xmhp有一个ui布 局。布局包含一个文本元索,您将修改这个文本元索,以显示android

22、flashlighto下血的清 单显示了这个简单的布局。清单1. flashlight布局<?xml version = "1.0h encodi ng = " ut f - 8* ?><li near layout x ml ns:androi d = 'http:/schemas .android .convapk/res/android andr oi d:or i ent at i on = "ver t i cal"andr oi d: 1 ay out _wi dt h = w f i 1 andr oi d: 1

23、ay out _hei ght ="f i1_par ent"11_par ent"andr oi d: backgr ound = " eol or / al i _whi t e* ><text vi ewandr oi d: i ay out _wi dt h = " f i i i _par entnandr oi d: i ay out _hei ght =w wr ap_cont ent"</li near layout >andr oi d: t ex t r i ng/ hel i o"

24、; andr oi d: t e x t co i o r =m (at o i or / al l_bl ackh andr oi d: gr avi t y = " cent er _hor i zont at / >在strings.xml中创建两个颜色资源。清单2. strings.xml中的颜色<?xml ver si on = " 1. 0n encodi ng = " ut f - 8w ?><r esour ces><st r i ng name = " hello* >andr oi d fl

25、ashli ght </ st r i ng> <st r i ng nameapp_name">fi ashli ght </ st r i ng> <col or name = m al i _whi t e" >#ffffff</ col or ><col or name = mal i _bl ackm>#000000</col or></r esour ces>主屏幕布局有一个定义为all_white的背景色。在strings.xml文件中,可以看 到all_white

26、被定义为一个值为#ffffff的rgb三元组,即纯口。布局包含一个textview,这实际上是-块静态文本。它是不可编辑的。文本被设为黑色,并 通过gravity屈性设为水平居中。该应丿ij程序有一个名为flashlight.java的java源文件,如以下清单所示。清单 3. flashlight.javapackage com. ms i flashlight;i mpor t andr oi d .app .activity;i mpo r t andr oi d.os. bundi e;publ i c cl ass fl ashli ght extends act i v i t y

27、 i * * cal i ed when t he activity i s first created * / publ i c voi d oncr eat e( b un dl e savedl nst a ncestate) super. oncr eat e(savedl nst ancest at e); s et cont ent vi ew( r. i ay out mai n);该代码是直接来自new project向导的模板代码: 它是 java 包 com.msi.flashlight 的一部分。 它有两个import:o 一个用于activity类o 一个用于bundl

28、e类 当该活动发起后,oncreate方法被调用,传入一个savedlnstancestate0对丁我 们來说,不必关心这个bundleo只有在暂停然后恢复活动时才会用到。 oncreate方法覆盖了同名的activity类方法。它调超类的oncreate方法。 对setcontentview()的调用将关联main.xml文件中定义的ui布局。main.xml和 strings.xml中的任何内容都口动映射到r.java源文件中定义的常暈。任何时候都不要 直接编辑这个文件,因为它随着每次构建而改变。运行该应用程序可以看到一个口色屏幕,其川有黑色文木。图6. flashlight的白色屏幕下血

29、显示用于flashlight应用程序的androidmanifest.xml文件。清单 4.用于 flashlight 的 androidmanifest.xml<?xml ver <mani f est xml ns: andandrd d n n p . a a pdsi on =h1. 0m encoding = hutf-8"?>r oi d =11 h11 p: / / sc hemas andr oi d com/ apk/ r es/ k a g e =h c o m. ms i . f i a s h i i g h t mr oi d:ver si

30、 oncode = "1"r oi d: ver si onname = " 1. 0. 0" >i cat i on an dr oi d: i co n = "drawable/ic on" abel 二"tri ng/app_name">act i v i t y an d r o i d: n a me ="f lashlight"an dr oi d: i abel =" s t r i ng / app_name" <i nt ent filte

31、randroi dh<acti onandr oi d: name = "andr oi d. i nt ent act i on. mai n" /><cat egor yandr oi d: n a me =y a n d r o i d. i nt ent . cat egor y. launcher" /> </ i nt ent f i 丨 t er ></act i vi t y></ appl i cat i on></ mani f est >该文件是rh用丁 eclipse的

32、android developer tools插件门动创建的。您不需耍做任何事 情。当然,这个应用程序并不是很强大。但是如果希望读点书,又不想打扰止在睡觉的爱人,或者 如果需要在断电时去地下室查看保险丝盒,那么这个应用程序还是很方便的。developerworks.在本文中,您阅读了对android的简介,并构建了一个小型的应用程序。希與本文中的例子能 激起您进一步探索android平台的兴趣。android有望成为対市场产生深远影响的开源平台, 它的用处将远远超越移动电话。用eclipse开发android应用程序google an droid developm ent tools ecli

33、pse 插件入门第1页,共11页文档选项鼻打印本页±样例代码对本教程的评价级别:屮级帮助我们改进这些内frank ableson (fableson),软件设计帀容2008年4月07日android是google提供的移动、无线、计算机和通信平台。通过使用android eclipse插件,可以在强大的eclipse环境屮构建android应用程序。本教程介绍 如何用eclipse插件android development tools进行android应用程序开发,包括 对android平台和android development tools的介绍,并开发两个示例应用程 序。此外,您

34、还可以通过教程"构建android手机rss阅读器:使用android处理 xml", 了解如何构建-一个运行在android平台上的rss阅读器。开始之前本教程介绍如何在eclipse坏境中进行android应用程序开发,包括两个示例应用 程序。第一个示例是一个基本的应用程序,涉及构建和调试的所有阶段。第二个 应用程序示例涉及比较复杂的android特性,包括联系人搜索和google maps地 址查找。要想从木教程获得最大收益,具备移动开发经验会有帮助,但不是必需 的。开发android应用程序需耍java,m编程技能,但是对本教程不是必需的。 关于本教程我们为什么耍关

35、注android?有两个原因使android成为重耍的平台。首先, google引入了 android,它在很短时间内就获得了市场的关注。google正在进军 移动市场。它在这个市场上采取的第一个行动就是发布android和open handset alliance,这是一个令人印象深刻的起点。第二,android不仅仅是另一种包含电 话、菜单和触摸屏功能的移动平台。您将在本教程屮了解到,android提供了一 种不同的应用程序开发方法。甫于可以对请求的操作和代码进行运行时绑定, android的体系结构支持高度可定制的软件环境。无论是考虑市场因素还是 android的技术方面,它都是一个值得

36、研究的平台。本教程分为以下儿节: android基础知识和必需的工具 android software developer kit 构建和调试saysomething android应用程序创建内容提供器和google maps应用程序回页首 系统需求本教程需要结合使用几种技术。eclipse 平台eclipse是-一个运行插件的平台。您应该安装eclipse classic的最新版本(本教程使用v331)。android developer tools按照 安装 android sdk 1 的说明安装 android developer tools (eclipse 插 件)源代码本教程屮的

37、源代码片段包括: androidmanifest.xml (片段)一这个文件是android应用程序的应 用程序部署描述符。 intent receiver 演 intentreceiver 的实现,这个类处理 androidmanifest.xml 文件屮 intentfiiter 标记所公布的 intento saysomething.java 一实现一个android活动,这是本教程的示例应 用程序的主耍入口点。 main.xml 一这个文件包含android活动所用的视觉元素或资源。 r.java 一这个文件是由android developer tools白动生成的,它把 视觉资源“

38、连接''到java源代码。 androidmanifest.xml (完整)一这是完整的 androidmanfest.xml 文件,包含每个重要元素的描述。_ mobileservicecallcontacts.java 这个文件包含的代码显示联系人 并对用户输入做出反应,执行google maps地址查找。android 简介在讨论eclipse插件和开发android应用程序z前,我们先看看android的体系结构和一些重要的术语, 这会对本教程后而的讨论和您自己构建android应用程序有帮助。android 术语在eclipse环境中开发android应用程序需要了解

39、eclipse环境和android平台的知识。了解以下术语会 有助于用eclipse插件开发android应用程序。open handset alliance这是一个由google公司主导的组织,它由许多公共利私人组织组成。android这是open handset alliance的主打产品。它是一种针对移动设备的开放源码操作环境。模拟器模拟另一个系统的软件工具一这常常是在个人计算机(ibm®、mac、linux®)上运行的一个环 境,它模拟另一个环境,比如移动计算设备。linux一种开放源码的操作系统内核,许多计算平台都使用这种操作系统,包括服务器、桌面计算机、网络 设

40、备和移动计算设备。android在linux内核上运行。dalvik virtual machinedalvik vm是android产晶组合中的一种操作环境,它在运行时解释应用程序代码。dalvik vm 与java vm相似,但是两者不兼容。android基础知识和必需的工具android是-种针对移动平台的开放源码操作系统。到编写本教程时,它是一种纯软件的平台,没有可用的 硬件设备。android平台被称为一个产品纽合,因为它是-系列组件的集合,包括: 基于linux内核的操作系统 java编程环境 工具集,包描编译器、资源编译器、调试器和模拟器 用来运行应用程序的dalvik vm简要

41、介绍了 android平台的体系结构z后,我们来从市场的角度看看这个平台的一些重要特性。回页首android为什么很重要?自从android和最初的sdk发布以来,计算机技术新闻界一直非常关注android, android之所以重要主 耍有两个原因。android是google进军移动市场的主要行动。移动应用程序领域竞争激烈,新的竟争者很难涉足。google 拥有大量资源和强大的品牌实力,有能力涉足任何市场。google进军移动市场已经好儿年了。android原 來属于另一家公司,google通过收购这家公司大大提高了在移动市场上的竞争力。google的任何行动都会 受到关注,而fl.引入新

42、平台也很引人注fi。android同时具备这两个因素。第二个原因是android的应用程序模型与众不同。android应用程序并不是需要大量单击操作的纯粹的菜单 式应用程序。android应用程序中确实有菜单和按钮,但是android在体系结构中引入了一种新颖的设计元 素 intent。回页首intentintent是一种构造,应用程序可以通过它发出请求,这就像是发出求助信号。intent可能像下面这样:hwa nted: an applicatio n to help me look up a con tact” 或 mwa nted: an applicatio n to help me

43、display this image'* 或 nwanted: an application to perform this geographic-based search1' 应用程序可以按照相似或互补的方式迹彳亍注册,表明它们冇能力或冇兴趣执行各种请求或intent.比如: ” available: applicatio n ready and willing to prese nt con tact records in clear, con cise manner'1 或"available: application ready and willing

44、 to perform a geographic search*' 这些是intentfilter的示例,下面将要讨论。回页首工ntentfilter应用程序通过一个称为intentfilter的构造声明它们能够执行某些类型的操作。intentfilter nj' 以在运行时进行注册,也可以在androidmanifest.xml文件屮设置。下面的代码片段取自一个对sms (文 本)消息进行响应的android应用程序:清单1 .对sms进行响应的android应用程序<r ecei ver cl ass=". mysmsmai i box" >

45、<i nt ent - f i i t er ><act i on androi d: val ue = m androi d. provi der. tel ephony. sms_recei ved" / ></ i nt ent - f i i t er ></ r ecei ver >简要介绍intent和intentfilter之后,下一节介绍android应用程序的四种主要类型。android应用程序一概述我们來看看android应用程序的四种主要类型:活动、服务、接收器和contentprovidero我们还要看 看显示用

46、户界面(ui)元素的视图。活动活动是最常用的android应用程序形式。活动在一个称为删图的类的帮助下,为应用程序提供ui。视图类 实现各种ui元素,比如文本框、标签、按钮和计算平台上常见的其他ui元素。一个应用程序可以包含一个或多个活动。这些活动通常与应用程序中的屏幕形成一对一关系。应用程序通过调用startactivity ()或start subactivity ()方法从一个活动转移到另一个活 动。如果应用程序只蛊“切换”到新的活动,就应该使用前一个方法。如果需要异步的调用/响应模式,就使 用后一个方法。在这两种情况下,都需要通过方法的参数传递一个intent.,由操作系统负责决定哪个

47、活动最适合满足指定的intento服务和接收器与其他多任务计算环境一样,“在后台”运行着一些应用程序,它们执行各种任务。android把这种应用程序 称为“服务”。服务是没有ui的android应用程序。接收器是一个应川程序组件,它接收请求并处理intento与服务一样,接收器在-般情况下也没有ui元 素。接收器通常在androidmanifest.xml文件中注册。清单2是接收器代码的示例。注意,接收器的类属 性是负责实现这个接收器的java类。清单2.接收器代码package com. msi . sampl erecei ver;i mpor tandroid.cont ent . co

48、nt ext ;i mpor tandroid.cont ent.i nt ent ;i mpor tandroid.cont ent . i nt ent receiver;publ i ccl assmyr e c e i ver ext endsintent recei verpubl i c voi d onrecei vel nt ent ( cont ext ar go, i nt ent ar g1)11 do s o me t hi ng when this met hod i s i nvoked.1回页首用contentprovider进行数据管理contentprovid

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

50、显示ui元素。视图采用以下布局设计z:lin earvertical后续的每个元索都排在前一个元索下面,形成一个单-列。lin earhorizontal后续的每个元素都排在前一个元素右边,形成一个单一行。relative后续的每个元素和对于前一个元素有一定的偏移量。table与html表相似的一系列行利列。每个单元格可以包含一个视图元索。选择-种布局(或布局的组合)z后,就可以用各个视图显示ui。视图元素由大家熟悉的ui元素组成,包括: button imagebutton edittext textview (与标签相似) checkbox radio button gallery和ima

51、geswitcher (用来显示多个图像) list grid datepicker timepicker spinner (与组合框相似) autocomplete (具有文本自动补全特性的edittext)视图是在一个xml文件屮定义的。淸单3给出一个简单的linearvertical布局示例。清单3.简单的linearvertical布局<?xml version二t(t encodi ng = * ut f 8* ?><li n ear layout x ml ns:androi d = *htt p:/schemas .android .convapk/res/an

52、droidandr oi d:or i ent at i on = "ver t i cal"andr oi d: i ay out _wi dt h = " f i i i _par ent"andr oi d:i ay out _hei ght =w f i i i _par ent * <text vi ewandr oi d: i ay out _wi dt h = " f i i i par ent" andr oi d: i ay out.hei ght =w wr apcont ent' andr oi d

53、: t ext =" act i vi t y 11 */><text vi ewandr oi d: i ay out _wi dt h = " f i i i _par enth andr oi d: i ay out _hei ght ="wr ap_cont ent" andr oi d:t ext ="act i vi t y 1, second t ext vi ew! /><but tonandr oi d: i ayout_wi dt h = "wrap_content"andr oi

54、 d: i ay out hei ght =w wr ap_cont ent"andr oi d:t ext ="swi t ch to act i vi t y 2*i d = m ®i d/ swi t cht o2ml></li near layout >注意,每个元素有一个或多个属于android名称空间的属性。卜一节讨论如何获取android sdk并在eclipse环境中配置它。android software developer kit我们已经人致了解了 android平台,现在讨论如何设置eclipse坏境來支持android应川

55、程序开发。本节讨论如何获取android sdk并在eclipse坏境屮呢置它。 获取和安装eclipse如果您还没有安装eclipse,那么从eclipse foundation下载并安装eclipse ide最新的稳定版(参见 考资料)o安装包是一个压缩的文件夹。把这个文件夹的内容解压到您计算机上的适当位置。安装程序并不在windows®上创建任何图标或快捷方式。对于本教程,eclipse文件夹位;c:softwareeclipse h录。 双击eclipse安装tl录中的eclipse.exe启动eclipse.这会启动ide。软件提示您指定一个“丁作空间”并 建议一个默认位2

56、!,比如c:documents and settingsusernameworkspaceo选择这个位汽或者指迄另 一个工作空间位置。启动eclipse之后,单击主屏幕上的workbench - go to the workbench图标。 现在该获取android sdk 了。获取和安装android sdk在参考资料中找到android的卜-载链接。有针对windows. mac os x (只有intel®版)和linux (j386)的sdk安装版。选择适合您平台的最 新的sdk版木。注意,到编写本教程时,最新的android sdk版本是m3rc37a°andro

57、id sdk是一个压缩的文件夹。下载这个文件夹并把它的内容解压到您计算机上的适当位置。对于本教 程,sdk 安装在 c:softwaregoogleandroid_m3-rc37ao 显然,如果要在 mac os x 和 linux 上安 装sdk,应该安装在通常安装开发工具的位置。eclipse和android sdk都已经安装好了。现在应该安装eclipse插件。*回页首获取并安装eclipse插件下面介绍安装eclipse插件android developer tools的步骤。注意,android网站上也提供了女装说 明。更多信息请参见参考资料。按照以下步骤安装android developer tools:1. 在 eclipse 中运行 “find and install"特性(在 help > software updates 菜单下面)。2. 选择 search for new features to install 选项。3. 选择new remote siteo给站点命名,比如“android developer tools”。在对话框中输入以

温馨提示

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

评论

0/150

提交评论