Android 4 编程入门经典


移动与嵌入式开发技术 Android 4 编程入门经典 —开发智能 开奖结果现场直播软件,黄大仙现场开奖直播与平板电脑应用 [美] Wei-Meng Lee 著 何晨光 李洪刚 译 北 京 第 1 章 Flash、Flex 和 AIR 简介 3 Wei-Meng Lee Beginning Android 4 Application Development EISBN:978-1-118-19954-1 Copyright © 2012 by Wiley Publishing, Inc. All Rights Reserved. This translation published under license. 本书中文简体字版由 Wiley Publishing, Inc. 授权清华大学出版社出版。未经出版者书面许可,不得以任何 方式复制或抄袭本书内容。 北京市版权局著作权合同登记号 图字:01-2012-3836 本书封面贴有 Wiley 公司防伪标签,无标签者不得销售。 版权所有,侵权必究。侵权举报开奖直播,香港马会王中王资料:010-62782989 13701121933 图书在版编目(CIP)数据 Android 4 编程入门经典—开发智能 开奖结果现场直播软件,黄大仙现场开奖直播与平板电脑应用/(美)李伟梦 著;何晨光,李洪刚 译. —北京:清华大学出版社,2012.11 (移动与嵌入式开发技术) 书名原文:Beginning Android 4 Application Development ISBN 978-7-302-30151-6 Ⅰ.①A… Ⅱ.①李… ②何… ③李… Ⅲ.①移动终端—应用程序—程序设计 Ⅳ.①TN929.53 中国版本图书馆 CIP 数据核字(2012)第 222884 号 责任编辑:王 军 杨信明 装帧设计:牛艳敏 责任校对:成凤进 责任印制: 出版发行:清华大学出版社 网 址:http://www.tup.com.cn,http://www.wqbook.com 地 址:北京清华大学学研大厦 A 座 邮 编:100084 社 总 机:010-62770175 邮 购:010-62786544 投稿与读者服务:010-62776969,c-service@tup.tsinghua.edu.cn 质量反馈:010-62772015,zhiliang@tup.tsinghua.edu.cn 印 刷 者: 装 订 者: 经 销:全国新华书店 开 本:185mm×260mm 印 张:32.25 字 数:785 千字 版 次:2012 年 11 月第 1 版 印 次:2012 年 11 月第 1 次印刷 印 数:1~4000 定 价:68.00 元 ————————————————————————————————————————————— 产品编号: 作 者 简 介 Wei-Meng Lee 是 Developer Learning Solutions 公司(www.learn2develop.net)的创始人和 技术专家,这家技术公司专门从事最新移动技术的培训。Wei-Meng Lee 具有多年的培训经 验,他的培训课程特别强调实践学习法。这种动手学习编程的方法比通过阅读书籍、教程 和文档来理解主题要容易得多。 Wei-Meng Lee 还是 Beginning iOS 5 Application Development(Wrox, 2010)和Beginning Android Application Development(Wrox, 2011)的作者。读者可以通过 weimenglee@learn2develop.net 与他联系。 技术编辑简介 Chaim Krause 是 US Army’s Command and General Staff College 学院的模拟专家(Simulation Specialist),他为该学院开发了运行在多种平台(从 iOS 和 Android 设备到 Windows 桌面操作 系统和 Linux 服务器)的各种各样的软件产品,并且还担负其他一些工作。Python 是他最喜 欢的语言,但是他本人擅长使用多种语言,比如使用 Java 和 JavaScript/HTML5/CSS 等编写 代码。很幸运,他的软件开发职业生涯是在 Borland 开始的,当时他是 Delphi 语言的高级 开发支持工程师。除了计算机相关的工作,Chaim 喜欢 techno 音乐和 dubstep 音乐,以及 和自己的两条雪橇犬 Dasher 和 Minnie 玩踏板车。 II 致 谢 写这本书的过程就像是在坐过山车。使用发布不久的软件在任何时候都是一种巨大的 挑战。当我刚开始创作这本书时,Android 4 SDK 刚刚发布,浏览文档获取信息的过程就 像是大海捞针。更加糟糕的是,Android 平板电脑模拟器很慢,很不稳定,这让开发过程 变得十分辛苦。 现在书终于写完了。希望您的旅途能够一帆风顺。我所做的就像任何好的向导一样, 领您进入 Android 平板电脑开发的大门,享受一个丰富多彩而又收获颇丰的学习过程。您 手里拿着的这本书是很多人共同工作的成果,我要借此机会感谢他们的付出。 首先,特别感谢 Wrox 的执行编辑 Bob Elliott。Bob 是一个耐心的倾听者,随时准备为 我提供帮助。和 Bob 合作的过程十分愉快,在我一起合作过的人当中,他是响应最积极的 人之一。Bob,谢谢你的帮助和指导! 当然,不应该忘记我的朋友,编辑 Ami Sullivan,和她一起工作的时候我总是感到很 愉快。合作完成了 4 本书后,我们已经非常了解对方,甚至不必打开收到的电子邮件就知 道里面在说什么。谢谢你,Ami! 还不能忘记的是那些幕后的英雄:文字编辑 Luann Rouff 和技术编辑 Chaim Krause。 他们在编辑本书时所具有的锐利眼光,保证了每一句话的准确性—无论是在语法方面还 是在技术方面。Luann 和 Chaim,谢谢你们! 最后,同样重要的是,我要感谢我的父母以及妻子 SzeWa 所给予我的全力支持。在我 创作本书的那段时间里,他们无私地调整自己的日程安排来迁就我。SzeWa 在我为满足期 限要求拼命工作的无数个夜晚总是一直陪我熬夜。因此,我要对我的妻子和我的父母说一 声:“我爱你们!”最后要感谢我们可爱的小狗 Ookii,谢谢你陪伴着我们。 译 者 序 Android 的发展呈现逐渐加速的趋势。从 2008 年 Google 在 I/O 开发者大会上提出的 Android 1.0 开始,经过 Google 进军“甜品业”的标志:Android 1.5,直到目前刚刚发布的 最新版 Android 4.1,短短 4 个年头不到,小机器人已经经历了十几个大小版本的成长历程。 正如本书内容所展现的那样,年初关于 Android 3 系列的入门开发经典刚刚付梓,现在这 本介绍 Android 4 的升级版本又和大家见面了,这无疑也是 Android 社区和应用日益活跃和 发展的集中体现,众人拾柴火焰高。尽管和相对封闭的 iOS 相比,在版本“碎片”控制上 由于其开放性无法做到完全杜绝,但也正因为如此,持续的新鲜血液和新型应用才能不断 得到实践的机会和用户的最终检验。Android 的生态系统也许在一时的盈利水平上还无法 全面和苹果抗衡,但凭借 Google 的技术、管理优势和以全世界 34 家服务运营商、设备提 供商为肇始的“开放 开奖结果现场直播软件,黄大仙现场开奖直播联盟”的广泛覆盖能力,Android 将会把越来越多的江湖大哥变 为传说。摩托罗拉、诺基亚、高通、三星这些传统的业界大佬自不必提,仅就中国境内的 移动和联通两大运营商先后加入联盟,并频繁推出 Android 设备平台上的各种增值应用, 就可想象在世界最大的移动开奖直播,香港马会王中王资料用户国家 Android 的前景。一组数字说明了这一点:截止 2011 年 9 月份,Android 系统的应用数目已经达到了 48 万,而在智能 开奖结果现场直播软件,黄大仙现场开奖直播市场,Android 系统的占有率已经达到了 43%,继续排在移动操作系统首位。因此,对 Android 的开发者 来说,现在首要的工作与其说是技术的革新和应用,不如说是寻找新的盈利模式,把技术 的优势转化为盈利的优势是 Android 生态系统富有挑战性的课题。希望本书的读者在 Android 的世界里循序渐进,在紧盯屏幕之余多思考一下现实世界,因为那里才是所有开 发工作的源头和归宿。 本书是一本有关基于 Android 4 开奖结果现场直播软件,黄大仙现场开奖直播操作系统进行应用程序开发的入门读物,作者 Wei-Meng Lee 在移动操作系统平台的项目开发和培训上具有丰富的实践经验。他采用图文 并茂、上手性极强的步步引导的方式将门外汉领入 Android 的大千世界的同时,又为他们 展示了较为广阔的视野,避免了初学者常常具有的只见树木不见森林的缺憾,堪称一大特 色。本书从 Android 的发展沿革讲起,通过对其中关键概念深入浅出的介绍,用大量的实 例概括了 Android 应用程序的构成、表现形式以及运行原理,为读者构建了较为完整的 Android 开发蓝图。在此基础上,引入了一些高级组件和功能的介绍,为读者进一步的实 践和开发高价值的应用指明了方向,再辅以每章课后的练习,除了使读者巩固所学知识之 外,通篇口语化的表达方式也拉近了本书与读者的距离。 和早先的版本相比,本书所使用的 Android 4.0 平台系统拥有全新的系统解锁界面,小 插件也进行了重新设计,最特别的就是系统的任务管理器可以显示出程序的缩略图,便于 用户准确快速地关闭无用的程序。总的来看,新版本具有统一的 UI 框架、沟通与共享能 Android 4 编程入门经典—开发智能 开奖结果现场直播软件,黄大仙现场开奖直播与平板电脑应用 IV 力和全新的连接类型,全新的输入方式及文本服务,并增强了媒体处理能力,尤其是在应 用程序及内容安全性方面做了不少功课,一定程度上补齐了开源平台常见的短板,将带给 用户全新的体验,这对于开发者来说无疑是颠覆应用设计新的契机。 当然,由于是面向初学者,Android 本身的体系结构和原理并未过多介绍,对于想对 此有更深入了解的读者可以访问 Android 社区以及海量的互联网相关资源。限于译者水平, 译文定有很多不当之处,敬请读者批评指正。译者的博客是 http://blog.csdn.net/charlieking, 欢迎大家一起交流。 译者于深圳 2012 年 6 月 22 日 前 言 我最开始玩 Android SDK 是在其正式版本 1.0 发布以前。那时,工具还不完善,SDK 中的 API 不稳定,文档也很缺乏。经过三年半时间的快速发展,现在的 Android 已经成为 一个和 iPhone 相比毫不逊色的强大的移动操作系统。由于经历过 Android 成长的所有痛苦, 我想现在是开始学习 Android 编程的最好时机—API 已经稳定,工具也有了改善。但是 仍然存在一个挑战:对许多人来说,入门仍是一个可望而不可及的目标。这一挑战在我脑 海里徘徊许久,也成为我写本书的动力,它也许可以给 Android 初级程序员带来益处,并 使他们能够逐步编写更复杂的应用程序。但是,对很多人来说学习 Android 仍然不太容易。 而且,Google 最近发布了 Android SDK 的最新版本—4.0,这是同时可用于智能 开奖结果现场直播软件,黄大仙现场开奖直播和平 板电脑的一个统一的移动操作系统。Android 4.0 SDK 包含原来平板电脑开发人员可用的一 些新功能,初学者理解这些新功能需要付出一些努力。 正是考虑到了初学者面临的这种挑战,我决定创作本书,让 Android 编程初学者能够 逐步掌握开发复杂应用程序的方法。 由于本书是写给 Android 初级开发人员的,为的是使他们能够快速上手,因此我以线 性方式涵盖了必要的主题,这样可以使您建立起自己的知识体系而不会被细节淹没。我采 取的哲学观点是:最好的学习方法是实践—因此,每一章的“试一试”部分将首先教您 如何构建一些东西,然后解释其工作原理。我利用创作本书的机会对本书的上一版进行了 修订和更新,加入了读者的反馈和对 Android 初学者很重要的一些主题。 尽管 Android 编程是一个宏大的主题,但本书要实现三重目标:帮助读者从最基本的 原理入手、使读者理解 SDK 的底层架构以及领会事情要按特定方式完成的原因。任何一本 书都不能面面俱到地介绍有关 Android 编程的知识,但我确信当您阅读完此书(并做了练习) 之后,将有充分的准备来应对下一个 Android 编程的挑战。 本书读者对象 本书针对的是打算使用 Google 的 Android SDK 来开发应用程序的 Android 初级开发人 员。为了从本书中真正获益,您应该在编程方面具有一些背景知识,并且至少熟悉面向对 象编程的概念。如果对 Java(Android 开发所用的语言)一无所知,那么您也许应该首先学习 一门 Java 编程课程,或者阅读有关 Java 编程方面的优秀书籍。以我的经验,如果您已经 了解 C#或 VB.NET,学习 Java 就比较轻松;只要按照“试一试”的步骤就可以使您的学 习过程顺利进行。 对于那些对所有编程概念都一无所知的人来说,我知道开发移动应用程序并赚到钱是 Android 4 编程入门经典—开发智能 开奖结果现场直播软件,黄大仙现场开奖直播与平板电脑应用 VI 很有诱惑力的。然而,在尝试本书的示例之前,我想首先学习一些基本的编程知识才是更 好的着手点。 本书主要内容 本书涵盖了使用 Android SDK 进行 Android 编程的基本概念,共分为 12 章和 3 个附录。 “第 1 章:Android 编程入门”介绍了 Android 操作系统的基本概念和当前发展状况。 您可以了解 Android 设备的各种功能以及市场上一些比较流行的设备。还可以学习如何下 载和安装所有必需的工具来开发 Android 应用程序并在 Android 模拟器上进行测试。 “第 2 章:活动、碎片和意图”使您熟悉 Android 编程中的这三个最重要的概念。活 动和碎片是 Android 应用程序的构建块。您将学习如何使用意图将活动链接起来形成一个 完整的 Android 应用程序。这是 Android 操作系统的独特特征之一。 “第 3 章:Android 用户界面”介绍了 Android 应用程序的用户界面的不同组成部分。 您将学习到用来构建应用程序的用户界面的不同布局,以及当用户和应用程序交互时与用 户界面相关联的多种事件。 “第 4 章:使用视图设计用户界面”介绍了可用于构建 Android 用户界面的各种基本 视图。该章将学习 3 组主要的视图:基本视图、选取器视图和列表视图,还将学习 Android 3.0 和 Android 4.0 中可用的特殊碎片。 “第 5 章:使用视图显示图片和菜单”继续研究视图。您将了解到如何使用不同的图 像视图来显示图像,以及在应用程序中显示选项和上下文菜单。该章最后将额外介绍一些 很酷的视图,可以用它们来为您的应用程序锦上添花。 “第 6 章:数据持久化”教您如何在 Android 应用程序中保存或存储数据。除了学习 使用不同的技术来存储用户数据外,您将学习到文件操作以及如何把文件保存到内部或 外部存储器(SD 卡)上。此外,还将学习到如何在 Android 应用程序中创建和使用 SQLite 数据库。 “第 7 章:内容提供者”讨论了在 Android 设备的不同应用程序间如何共享数据。您 将学习如何使用内容提供者并自己创建一个。 “第 8 章:消息传递”研究了移动编程中最有趣的两个主题——发送 SMS 消息和电子 邮件。您将学习如何以编程方式发送和接收 SMS 消息和电子邮件,以及如何拦截传入的 SMS 消息,使内置的 Messaging 应用程序不能收到任何消息。 注意:本书中讨论的所有示例均使用 Android SDK 4.0 版本编写和测试。尽管 我们已经努力保证本书中所有用到的工具都是最新的,但当您阅读本书时,还 是很可能有更新版本的工具可用。如果是这样,某些指示和/或屏幕截图会有 少许不同。不过,任何改变都应是可控的。 前 言 VII “第 9 章:基于位置的服务”描述了如何使用 Google Maps 来构建基于位置的服务应 用程序。您还将学习到如何获取地理位置数据并在地图上显示该位置。 “第 10 章:联网”研究了如何连接 Web 服务器来下载数据。您将看到如何在 Android 应用程序中使用 XML 和 JSON Web 服务。本章还将介绍套接字编程,以及如何在 Android 中构建一个聊天客户端。 “第 11 章:开发 Android 服务”将向您展示如何使用服务来编写应用程序。服务是运 行于后台且没有用户界面的应用程序。您将了解如何在一个单独的线程中以异步方式运行 您的服务,以及活动与之通信的方法。 “第 12 章:发布 Android 应用程序”讨论了您在准备好发布 Android 应用程序时可以 采用的不同方法。您还将了解到在 Android Market 上发布并出售应用程序的必要步骤。 “附录 A:使用 Eclipse 进行 Android 开发”简要概述了 Eclipse 中的许多功能。 “附录 B:使用 Android 模拟器”提供了有关使用 Android 模拟器进行应用程序测试 方面的一些提示和技巧。 “附录 C:练习答案”包含了每章最后的练习的答案。 本书结构安排 本书将学习 Android 编程的任务分解为若干个更小的环节,使您能够在钻研更高级的 内容之前消化每一个主题。 如果您对于 Android 编程完全是个新手,那就首先从第 1 章开始。一旦熟悉基本概念, 就可以转到附录去阅读更多有关 Eclipse 和 Android 模拟器的知识。当完成这些之后,可以 再从第 2 章继续,并按部就班地学习更高级的主题。 本书一大特色就是每章的所有示例代码都独立于先前章节所讨论的内容。这样,您可 以灵活地转入到所感兴趣的主题并按照“试一试”的项目内容开始练习。 使用本书的前提条件 本书中的所有示例都在 Android 模拟器(作为 Android SDK 的一部分)中运行。当然, 为了从本书中得到更多收获,拥有一个真实的 Android 设备还是很有益的(尽管这不是绝对 必要的)。 源代码 在读者学习本书中的示例时,可以手动输入所有代码,也可以使用本书附带的源代码 文件。本书使用的所有源代码都可以从本书合作站点 http://www.wrox.com/ 或 http://www.tupwk.com.cn/ downpage 上下载。登录到站点 http://www.wrox.com/,使用 Search Android 4 编程入门经典—开发智能 开奖结果现场直播软件,黄大仙现场开奖直播与平板电脑应用 VIII 工具或使用书名列表就可以找到本书。接着单击 Download Code 链接,就可以获得所有的 源代码。 在下载代码后,只需要用解压缩软件对它进行解压缩即可。另外,也可以进入 http://www.wrox.com/dynamic/books/download.aspx 上的 Wrox 代码下载主页,查看本书和其 他 Wrox 图书的所有代码。 勘误表 尽管我们已经尽了各种努力来保证文章或代码中不出现错误,但是错误总是难免的, 如果您在本书中找到了错误,例如拼写错误或代码错误,请告诉我们,我们将非常感激。 通过勘误表,可以让其他读者避免受挫,当然,这还有助于提供更高质量的信息。 要在网站上找到本书英文版的勘误表,可以登录 http://www.wrox.com,通过 Search 工 具或书名列表查找本书,然后在本书的细目页面上,单击 Book Errata 链接。在这个页面上 可以查看到 Wrox 编辑已提交和粘贴的所有勘误项。完整的图书列表还包括每本书的勘误 表,网址是 www.wrox.com/misc-pages/booklist.shtml。 如果您发现的错误在我们的勘误表里还没有出现的话,请登录 www.wrox.com/contact/ techsupport.shtml 并完成那里的表格,把您发现的错误发送给我们。我们会检查您的反馈信息, 如果正确,我们将在本书的勘误表页面张贴该错误消息,并在本书的后续版本加以修订。 p2p. wrox.com 要与作者和同行讨论,请加入 p2p.wrox.com 上的 P2P 论坛。这个论坛是一个基于 Web 的系统,便于您张贴与 Wrox 图书相关的消息和相关技术,与其他读者和技术用户交流心 得。该论坛提供了订阅功能,当论坛上有新的消息时,它可以给您传送感兴趣的论题。Wrox 作者、编辑和其他业界专家以及读者都会到这个论坛上探讨问题。 在 p2p.wrox.com 上有许多不同的论坛,它们不仅有助于阅读本书,还有助于开发自己 的应用程序。要加入论坛,可以遵循下面的步骤。 (1) 进入 p2p.wrox.com,单击 Register 链接。 (2) 阅读使用协议,并单击 Agree 按钮。 (3) 填写加入该论坛所需要的信息和自己希望提供的其他可选信息,单击 Submit 按钮。 (4) 您会收到一封电子邮件,其中的信息描述了如何验证账户,完成加入过程。 注意:因为很多书都有类似的书名,通过书号可以很容易找到本书,本书的 EISBN 为 978-1-118-19954-1。 前 言 IX 加入论坛后,就可以张贴新消息,响应其他用户张贴的消息。可以随时在 Web 上阅读 消息。如果要让该网站给自己发送特定论坛中的消息,可以单击论坛列表中该论坛名旁边 的 Subscribe to this Forum 图标。 要想了解更多的有关论坛软件的工作情况,以及 P2P 和 Wrox 图书的许多常见问题的 解答,就一定要阅读 FAQ,只需要在任意 P2P 页面上单击 FAQ 链接即可。 注意:不加入 P2P 也可以阅读论坛上的消息,但要张贴自己的消息,就必须 先加入该论坛。 目 录 第 1 章 Android 编程入门 ·················· 1 1.1 Android 简介 ························ 2 1.1.1 Android 版本 ····················· 2 1.1.2 Android 功能 ····················· 3 1.1.3 Android 架构 ····················· 3 1.1.4 市场上的 Android 设备 ········ 4 1.1.5 Android Market ·················· 7 1.1.6 Android 开发社区 ··············· 7 1.2 获得所需工具 ······················· 8 1.2.1 Android SDK ····················· 8 1.2.2 安装 Android SDK 工具 ······· 9 1.2.3 配置 Android SDK Manager ·························· 10 1.2.4 Eclipse ···························· 11 1.2.5 Android 开发工具 ·············· 12 1.2.6 创建 Android 虚拟 设备(AVD) ······················· 14 1.3 创建第一个 Android 应用 程序 ································· 17 1.4 Android 应用程序剖析 ·········· 24 1.5 本章小结 ··························· 28 第 2 章 活动、碎片和意图 ··············· 31 2.1 理解活动 ··························· 31 2.1.1 如何对活动应用样式 和主题 ···························· 36 2.1.2 隐藏活动标题 ··················· 37 2.1.3 显示对话框窗口 ················ 38 2.1.4 显示进度对话框 ················ 43 2.1.5 显示更复杂的进度对话框 ···· 46 2.2 使用意图链接活动 ··············· 50 2.2.1 解决意图筛选器的冲突 ······· 54 2.2.2 从意图返回结果 ················ 56 2.2.3 使用意图对象传递数据 ······· 59 2.3 碎片 ································· 65 2.3.1 动态添加碎片 ··················· 70 2.3.2 碎片的生命周期 ················ 72 2.3.3 碎片之间进行交互 ············· 76 2.4 使用意图调用内置应用程序 ··· 80 2.4.1 理解意图对象 ··················· 85 2.4.2 使用意图筛选器 ················ 86 2.4.3 添加类别 ························· 91 2.5 显示通知 ··························· 93 2.6 本章小结 ··························· 98 第 3 章 Android 用户界面 ·············· 101 3.1 了解屏幕的构成 ················· 101 3.1.1 视图和视图组 ················· 102 3.1.2 LinearLayout ·················· 103 3.1.3 AbsoluteLayout ··············· 109 3.1.4 TableLayout ···················· 110 3.1.5 RelativeLayout ················ 111 3.1.6 FrameLayout ··················· 113 3.1.7 ScrollView ····················· 115 3.2 适应显示方向 ···················· 118 3.2.1 锚定视图 ······················· 119 3.2.2 调整大小和重新定位 ········ 121 3.3 管理屏幕方向的变化 ··········· 124 3.3.1 配置改变时保持状态 信息 ····························· 127 3.3.2 检测方向改变 ················· 128 3.3.3 控制活动的方向 ·············· 129 3.4 使用 Action Bar ·················· 130 3.4.1 向 Action Bar 添加动作项 ·· 132 Android 4 编程入门经典—开发智能 开奖结果现场直播软件,黄大仙现场开奖直播与平板电脑应用 XII 3.4.2 定制动作项和应用 程序图标 ······················· 138 3.5 以编程方式创建用户界面 ····· 139 3.6 侦听用户界面通知 ·············· 142 3.6.1 重写活动中定义的方法 ····· 142 3.6.2 为视图注册事件 ·············· 146 3.7 本章小结 ·························· 149 第 4 章 使用视图设计用户界面 ······· 151 4.1 基本视图 ·························· 151 4.1.1 TextView 视图 ················ 152 4.1.2 Button、ImageButton、EditText、 CheckBox、ToggleButton、 RadioButton 和 RadioGroup 视图 ····························· 152 4.1.3 ProgressBar 视图 ············· 163 4.1.4 AutoCompleteTextView 视图 ····························· 169 4.2 选取器视图 ······················· 171 4.2.1 TimePicker 视图 ·············· 171 4.2.2 DatePicker 视图 ··············· 176 4.3 使用列表视图显示长列表 ····· 183 4.3.1 ListView 视图 ················· 183 4.3.2 使用 Spinner 视图 ············ 191 4.4 了解特殊碎片 ···················· 194 4.4.1 使用 ListFragment ············ 194 4.4.2 使用 DialogFragment ········ 199 4.4.3 使用 PreferenceFragment ···· 202 4.5 本章小结 ·························· 206 第 5 章 使用视图显示图片和菜单 ···· 209 5.1 使用图像视图显示图片 ········ 209 5.1.1 Gallery 和 ImageView 视图 ····························· 209 5.1.2 ImageSwitcher ················· 217 5.1.3 GridView ······················· 222 5.2 将菜单和视图一起使用 ········ 225 5.2.1 创建辅助方法 ················· 226 5.2.2 选项菜单 ······················· 228 5.2.3 上下文菜单 ···················· 230 5.3 其他一些视图 ···················· 233 5.3.1 AnalogClock 和 DigitalClock 视图 ····························· 233 5.3.2 WebView ······················· 234 5.4 本章小结 ·························· 240 第 6 章 数据持久化 ······················ 243 6.1 保存和加载用户首选项 ········ 243 6.1.1 使用活动访问首选项 ········· 244 6.1.2 通过编程检索和修改首 选项值 ·························· 250 6.1.3 修改首选项文件的默认 名称 ····························· 252 6.2 将数据持久化到文件中 ········ 254 6.2.1 保存到内部存储器 ··········· 254 6.2.2 保存到外部存储器 (SD 卡) ························· 259 6.2.3 选择最佳存储选项 ··········· 262 6.2.4 使用静态资源 ················· 263 6.3 创建和使用数据库 ·············· 264 6.3.1 创建 DBAdapter 辅助类 ···· 265 6.3.2 以编程方式使用数据库 ····· 270 6.3.3 预创建数据库 ················· 277 6.4 本章小结 ·························· 281 第 7 章 内容提供者 ······················ 283 7.1 在 Android 中共享数据 ········ 283 7.2 使用内容提供者 ················· 284 7.2.1 预定义查询字符串常量 ····· 289 7.2.2 投影 ····························· 292 7.2.3 筛选 ····························· 293 7.2.4 排序 ····························· 294 7.3 创建自己的内容提供者 ········ 295 7.4 使用内容提供者 ················· 304 目 录 XIII 7.5 本章小结 ·························· 309 第 8 章 消息传递 ························· 311 8.1 SMS 消息传递 ··················· 311 8.1.1 以编程方式发送 SMS 消息 ····························· 312 8.1.2 发送消息后获取反馈 ········ 315 8.1.3 使用意图发送 SMS 消息 ··· 318 8.1.4 接收 SMS 消息 ··············· 319 8.1.5 说明和警告 ···················· 334 8.2 发送电子邮件 ···················· 335 8.3 本章小结 ·························· 338 第 9 章 基于位置的服务 ················ 339 9.1 显示地图 ·························· 339 9.1.1 创建项目 ······················· 340 9.1.2 获取 Maps API 密钥 ········· 340 9.1.3 显示地图 ······················· 343 9.1.4 显示缩放控件 ················· 346 9.1.5 改变视图 ······················· 349 9.1.6 导航到特定位置 ·············· 350 9.1.7 添加标记 ······················· 353 9.1.8 获取触摸的位置 ·············· 356 9.1.9 地理编码和反向地理 编码 ····························· 358 9.2 获取位置数据 ···················· 362 9.3 监控一个位置 ···················· 371 9.4 项目—创建一个位置跟踪 应用程序 ·························· 372 9.5 本章小结 ·························· 378 第 10 章 联网 ······························ 381 10.1 通过 HTTP 使用 Web 服务 ··· 381 10.1.1 下载二进制数据 ··········· 384 10.1.2 下载文本内容 ·············· 390 10.1.3 通过 GET 方法访问 Web 服务 ·························· 392 10.2 使用 JSON 服务 ················ 397 10.3 套接字编程 ······················ 405 10.4 本章小结 ························· 414 第 11 章 开发 Android 服务 ············ 417 11.1 创建自己的服务 ················ 417 11.1.1 在服务中执行长时间运行 的任务 ······················· 421 11.1.2 在服务中执行重复的 任务 ·························· 426 11.1.3 使用 IntentService 在单独的 线程上执行异步任务 ····· 430 11.2 在服务和活动之间通信······· 433 11.3 将活动绑定到服务 ············· 437 11.4 理解线程 ························· 442 11.5 本章小结 ························· 448 第 12 章 发布 Android 应用程序 ······ 451 12.1 为发布做准备··················· 451 12.1.1 版本化 ······················· 451 12.1.2 对 Android 应用程序进行 数字签名 ···················· 454 12.2 部署 APK 文件 ················· 459 12.2.1 使用 adb.exe 工具 ········· 459 12.2.2 使用 Web 服务器 ·········· 461 12.2.3 在 Android Market 上 发布 ·························· 462 12.3 本章小结 ························· 467 附录 A 使用 Eclipse 进行 Android 开发 ································ 469 附录 B 使用 Android 模拟器 ··········· 483 附录 C 练习答案·························· 595 Android 编程入门 本章将介绍以下内容: ● Android 简介 ● Android 版本及其功能集 ● Android 架构 ● 市场上的各种 Android 设备 ● Android Market 应用程序商店 ● 如何获得开发 Android 应用程序的工具和 SDK(软件开发工具包) ● 如何开发您的第一个 Android 应用程序 欢迎阅读本书!当我撰写自己的第一本关于 Android 的图书时,曾提到 Android 取代 了 Apple 的 iPhone,在美国智能 开奖结果现场直播软件,黄大仙现场开奖直播市场中排名第二,仅次于 Research In Motion(RIM)的 BlackBerry。那本书付印后不久,comScore(数字世界评估的全球领先者,是数字世界的首 选信息源)发布的报告称 Android 超过了 BlackBerry,成为美国最受欢迎的智能 开奖结果现场直播软件,黄大仙现场开奖直播平台。 几个月后,Google 发布了 Android 3.0,代号为 Honeycomb(蜂巢)。在这个版本中,Google 将重点放到了新的软件开发套件上,引入了几个专为宽屏设备(特别是平板电脑)设计的新 功能。如果是为 Android 智能 开奖结果现场直播软件,黄大仙现场开奖直播开发应用程序,Android 3.0 的用处并不大,因为智能手 机不支持它提供的新功能。在 Android 3.0 发布的同时,Google 开始开发下一个版本的 Android,致力于让它在智能 开奖结果现场直播软件,黄大仙现场开奖直播和平板电脑上都可使用。2011 年 10 月,Google 发布了 Android 4.0,代号为 Ice Cream Sandwich(冰激凌三明治),本书将重点介绍这个版本。 本章将介绍 Android 到底是什么,以及是什么让开发人员和设备制造商都有如此大的 兴趣。您也将开始开发您的第一个 Android 应用程序,并学会如何获得必要的工具并对其 设置,以便可以在 Android 4.0 模拟器上测试应用程序。在本章结尾,您将具备进一步探索 更尖端的技术和技巧以开发您的下一个杀手级的 Android 应用程序所需的基础知识。 第 章 1 Android 4 编程入门经典—开发智能 开奖结果现场直播软件,黄大仙现场开奖直播与平板电脑应用 2 1.1 Android 简介 Android 是一款基于 Linux 修订版本的移动操作系统。它最初是由同名的 Android 有限 公司作为进入移动市场的战略的一部分于 2005 年开发的。Google 收购了 Android 公司, 并接管了它的开发工作(包括整个开发团队)。 Google 要求 Android 系统是开放和免费的。因此,大部分 Android 代码在 Apache License 开源协议下都公开了,这意味着任何想使用 Android 的人都可以下载 Android 的全部源代 码。此外,供应商(特别是硬件制造商)可以添加他们自己专有的 Android 扩展,通过定制 Android 以区别于其他厂商的产品。这一简单的开发模型使 Android 非常有吸引力,并因此 引起了许多供应商的兴趣。Apple 公司 iPhone 产品的巨大成功彻底改变了智能 开奖结果现场直播软件,黄大仙现场开奖直播产业, 这深深影响到了诸如摩托罗拉和索爱这一类多年只开发自己的移动操作系统的公司。当 iPhone 发布时,这些大部分厂商不得不争相寻找振兴自己产品的新出路。他们将 Android 视为一种解决方案——继续设计自己的硬件,同时将 Android 用作支持硬件的操作系统。 使用 Android 的主要优势是它提供了统一的应用程序开发方法。开发人员只需要为 Android 进行开发,开发出的应用程序可以运行在许多不同的设备上,只要这些设备用的 是 Android 系统。在智能 开奖结果现场直播软件,黄大仙现场开奖直播界,应用程序是成功链中的最重要一环。因此,为了应对已 经占据大量应用程序市场的 iPhone 带来的巨大冲击,设备制造商对 Android 寄予了厚望。 1.1.1 Android 版本 自首次发布以来,Android 已历经了相当多数量的更新版本。表 1-1 列出了 Android 的 不同版本及其相应代号。 表 1-1 Android 版本简史 Android 版本 发 布 日 期 代 号 1.1 2009 年 2 月 9 日 1.5 2009 年 4 月 30 日 Cupcake(纸杯蛋糕) 1.6 2009 年 9 月 15 日 Donut(炸面圈) 2.0/2.1 2009 年 10 月 26 日 Eclair(长松饼) 2.2 2010 年 5 月 20 日 Froyo(冻酸奶) 2.3 2010 年 12 月 6 日 Gingerbread(姜饼) 3.0/3.1/3.2 2011 年 2 月 22 日 Honeycomb(蜂巢) 4.0 2011 年 10 月 19 日 Ice Cream Sandwich(冰激凌三明治) 2011 年 2 月,Google 发布了 Android 3.0,它支持宽屏设备,是一种只针对平板电脑的 版本。Android 3.0 的关键变化包括: ● 针对平板电脑进行优化的新用户界面 ● 使用新的小组件的 3D 桌面 第 1 章 Android 编程入门 3 ● 优化的多任务功能 ● 新的 Web 浏览器功能,例如标签式浏览、表单自动填充、书签同步和隐私浏览 ● 支持多核处理器 为 Android 3.0 之前的版本编写的应用程序在 Android 3.0 设备上可以直接运行,无须 修改。但是,使用了 Android 3.0 的新功能编写的 Android 3.0 平板电脑应用程序是不能在 较早的设备上运行的。为了确保 Android 3.0 平板电脑应用程序可以在各种版本的设备上运 行,必须从编程方面入手确保只使用 Android 的特定版本支持的功能。 在 2011 年 11 月,Google 发布了 Android 4.0,让智能 开奖结果现场直播软件,黄大仙现场开奖直播也具有了 Android 3.0 中引 入的所有功能,并且还提供了一些新功能,包括面部识别解锁功能、数据使用监控、近距 离通信(Near Field Communication,NFC)等。 1.1.2 Android 功能 鉴于 Android 的开源以及制造商可对其自由定制的特点,因此没有固定的软硬件配置。 然而,Android 本身支持如下功能: ● 存储—使用 SQLite(轻量级的关系数据库)进行数据存储,第 6 章将对数据存储进 行详细讨论。 ● 连接性—支持 GSM/EDGE、IDEN、CDMA、EV-DO、UMTS、Bluetooth(包括 A2DP 和 AVRCP)、WiFi、LTE 和 WiMAX。第 8 章将详细讨论联网。 ● 消息传递—支持 SMS 和 MMS,也在第 8 章进行详细探讨。 ● Web 浏览器—基于开源的 WebKit,并集成 Chrome 的 V8 JavaScript 引擎。 ● 媒体支持—支持以下媒体:H.263、H.264(在 3GP 或 MP4 容器中)、MPEG-4 SP、 AMR、AMR-WB(在 3GP 容器中)、AAC、HE-AAC(在 MP4 或 3GP 容器中)、MP3、 MIDI、OggVorbis、WAV、JPEG、PNG、GIF 和 BMP。 ● 硬件支持—加速度传感器、摄像头、数字式罗盘、接近传感器和全球定位系统 (GPS)。 ● 多点触摸—支持多点触摸屏幕。 ● 多任务—支持多任务应用。 ● Flash 支持—Android 2.3 支持 Flash 10.1。 ● tethering—支持作为有线/无线热点实现 Internet 连接共享。 1.1.3 Android 架构 为了理解 Android 的工作方式,可以参看图 1-1,该图描述了构成 Android 操作系统(OS) 的各个层。 Android 4 编程入门经典—开发智能 开奖结果现场直播软件,黄大仙现场开奖直播与平板电脑应用 4 图 1-1 Android 操作系统大致可以在 4 个主要层面上分为以下 5 个部分: ● Linux 内核—这是 Android 所基于的核心。这一层包括了一个 Android 设备的各 种硬件组件的所有低层设备驱动程序。 ● 库—包括了提供 Android 操作系统的主要功能的全部代码。例如,SQLite 库提供 了支持应用程序进行数据存储的数据库。WebKit 库为浏览 Web 提供了众多功能。 ● Android 运行时—它与库同处一层,提供了一组核心库,可以使开发人员使用 Java 编程语言来写 Android 应用程序。Android 运行时还包括 Dalvik 虚拟机,这使得每 个 Android 应用程序都在它自己的进程中运行,都拥有一个自己的 Dalvik 虚拟机实 例(Android 应用程序被编译成 Dalvik 可执行文件)。Dalvik 是特别为 Android 设计, 并为内存和 CPU 受限的电池供电的移动设备进行过优化的专门的虚拟机。 ● 应用程序框架—对应用程序开发人员公开了 Android 操作系统的各种功能,使他 们可以在应用程序中使用这些功能。 ● 应用程序—在这个最顶层中,可以找到 Android 设备自带的应用程序(例如开奖直播,香港马会王中王资料、 联系人、浏览器等),以及可以从 Android Market 应用程序商店下载和安装的应用 程序。您所写的任何应用程序都处于这一层。 1.1.4 市场上的 Android 设备 Android 设备有各种样式和大小。截至 2011 年 11 月底,Android 操作系统可以支持如 下类型的设备: 第 1 章 Android 编程入门 5 ● 智能 开奖结果现场直播软件,黄大仙现场开奖直播 ● 平板电脑 ● 电子阅读器 ● 上网本 ● MP4 播放器 ● 互联网电视 而您目前很可能已经至少拥有其中一种设备。图 1-2 (从左到右)展示了 Samsung Galaxy S II、Motorola Atrix 4G 和 HTC EVO 4G 智能 开奖结果现场直播软件,黄大仙现场开奖直播。 图 1-2 制造商都趋之若鹜的另一类流行的设备是平板电脑。平板电脑通常有两种尺寸: 7 英 寸和 10 英寸(指对角线长度)。图 1-3 展示了 Samsung Galaxy Tab 10.1(左)和 Asus Eee Pad Transformer TF101(右)(二者都是 10.1 英寸的平板电脑)。Samsung Galaxy 10.1 和 Asus Eee Pad Transfer TF101 都使用 Android 3 作为操作系统。 图 1-3 除了智能 开奖结果现场直播软件,黄大仙现场开奖直播和平板电脑外,Android 也开始出现在专用设备中,如电子书阅读器。 Android 4 编程入门经典—开发智能 开奖结果现场直播软件,黄大仙现场开奖直播与平板电脑应用 6 图 1-4 展示了两款运行 Android 操作系统的彩色电子书阅读器产品—Barnes & Noble 公司 的 NOOK Color(左)和 Amazon 的 Kindle Fire(右)。 图 1-4 除了这些流行的移动设备,Android 也正慢慢进入到您的客厅。瑞典公司 People of Lava 开发了一款基于 Android 的电视机,名为 Scandinavia,如图 1-5 所示。 Google 还涉足了基于 Android 的专有的智能电视平台,并和诸如英特尔、索尼、罗技 等公司进行共同开发。图 1-6 展示了索尼公司的 Google 电视。 图 1-5 图 1-6 在撰写本书时,Samsung Galaxy Nexus(见图 1-7)是唯一一款运行 Android 4.0 的设备。 但是,Google 承诺可以使现有的设备(例如 Nexus S)升级到 Android 4.0。在您读到本书时, 可能已经有了很多运行 Android 4.0 的设备。 第 1 章 Android 编程入门 7 图 1-7 1.1.5 Android Market 如前所述,决定一个智能 开奖结果现场直播软件,黄大仙现场开奖直播平台成功的主要因素之一是支持它的应用程序。从 iPhone 的成功可以清楚地看出,应用程序在决定一个新的平台是成功还是失败方面扮演了一个非 常关键的角色。此外,使这些应用程序能为广大用户访问也是极为重要的。 因此,在 2008 年 8 月,Google 宣布将在同年 10 月份为用户提供一个适用于 Android 设备的在线应用程序商店:Android Market。使用预装于 Android 设备上的 Market 应用程 序,用户可以很方便地把第三方应用程序直接下载到他们的设备上。付费和免费的应用程 序在 Android Market 上都是受支持的,不过付费的应用程序由于法律问题只提供给某些国 家的用户。 同样,在一些国家,用户可以从 Android Market 购买付费的应用程序,但开发人员不能在 该国销售。例如,在写作本书时,印度的用户可以从 Android Market 购买应用程序,但印度的 开发人员却不能在 Android Market 上出售应用程序。相反的情况也可能是存在的。例如,韩国 的用户不能购买应用程序,但韩国的开发人员可以在 Android Market 上出售应用程序。 1.1.6 Android 开发社区 Android 迎来了第 4 个版本,它已经在世界范围内形成了庞大的开发社区。现在更容 易寻求问题的解决办法,并找到有类似想法的开发人员来分享关于应用程序的想法和经验。 如果在进行 Android 开发的过程中遇到问题,可以到下面列出的开发社区/网站来寻找 帮助: 注意:第 12 章讨论了更多有关 Android Market 的内容,以及如何在上面出售 自己的应用程序。 Android 4 编程入门经典—开发智能 开奖结果现场直播软件,黄大仙现场开奖直播与平板电脑应用 8 ● Stack Overflow(www.stackoverflow.com)—Stack Overflow 是一个协作编辑性的问 答网站,可以解决开发人员的各种问题。您遇到的关于 Android 的问题,很可能已 经在 Stack Overflow 中被讨论过并已经有了解决方案了。最好的地方是,其他开发 人员可以投票选出最佳答案,这样您就知道哪些答案是可以相信的。 ● Google Android Training(http://developer.android.com/training/index.html)—Google 创建了 Android Training 网站,按主题分类包含了许多实用的课程。在写作本书时, 这些课程大多包含了实用的代码片段,当 Android 开发人员掌握了基础后,会发现 这些代码十分有用。学习完本书介绍的基础知识后,强烈建议您去看看这些课程。 ● Android Discuss(http://groups.google.com/group/android-discuss)—Android Discuss 是 Google 通过 Google Groups 服务管理的一个讨论组。在这里可以讨论关于 Android 编程的各种话题。Google 的 Android 团队密切监管着这个组,所以这是解决自己的 疑问和学习新技巧的一个好地方。 1.2 获得所需工具 既然已了解了 Android 的概念和其功能集,您也许渴望亲自动手试一试,并开始写些 应用程序。然而,在您写第一个应用程序之前,需要下载所需的工具和 SDK。 对于 Android 开发,可以使用 Mac、Windows PC 或 Linux 机器。所有必需的工具都 可以通过网络免费下载。除了少数需要访问硬件的例子以外,本书提供的大多数例子都可 以在 Android 模拟器中运行得很好。本书中,我将使用运行 Windows 7 操作系统的计算机 来演示所有的代码示例。如果您用的是 Mac 或 Linux 计算机,除了存在一些细微的差别, 屏幕截图应该是很相似的,您应该可以毫无困难地按照本书的指导来练习。 那么,让我们开始有趣的学习之旅吧! Java JDK Android SDK 使用 Java SE 开发工具包(JDK)。因此。如果您的计算机上没有安装 JDK, 那么应该通过 www.oracle.com/technetwork/java/javase/downloads/index.html 手机最快报码现场直播,4887开奖现场结果下载并在 阅读下一小节前进行安装。 1.2.1 Android SDK 需要下载的第一个、也是最重要的软件自然是 Android SDK。Android SDK 包含了一 个调试器、库、一个模拟器、文档、示例代码和教程。 可以从 http://developer.android.com/sdk/index.html 下载 Android SDK,如图 1-8 所示。 Android SDK 打包在一个 zip 文件中。下载完成后,将其内容(android-sdk-windows 文 件夹)解压到一个文件夹中,例如 C:\Android 4.0\。对于 Windows 用户,Google 建议下载 installer_r15-windows.exe 文件,它可以自动设置所需的工具。下面的步骤将介绍使用这种 方法进行安装的过程。 第 1 章 Android 编程入门 9 图 1-8 1.2.2 安装 Android SDK 工具 下载了 installer_r15-windows.exe 文件后,双击它开始安装 Android 工具。在 Setup Wizard 的欢迎界面,单击 Next 按钮继续操作。 如果计算机中没有安装 Java,会看到如图 1-9 所示的出错对话框。但是,即使安装了 Java,仍可能看到此错误。此时,单击 Report error 按钮,然后单击 Next 按钮。 此时需要指定一个目标文件夹来安装 Android SDK 工具。输入目标路径(如图 1-10 所 示),然后单击 Next 按钮。 图 1-9 图 1-10 当向导要求选择一个 Start Menu 文件夹来创建程序的快捷方式时,选择默认的 Android Android 4 编程入门经典—开发智能 开奖结果现场直播软件,黄大仙现场开奖直播与平板电脑应用 10 SDK Tools,然后单击 Install。安装完成后,单击 Start SDK Manager( to download system images, etc.)选项,然后单击 Finish 按钮(如图 1-11 所示)。这将启动 SDK Manager。 图 1-11 1.2.3 配置 Android SDK Manager Android SDK Manager 管理计算机上目前安装的各种版本的 Android SDK。启动 Android SDK Manager 后,会看到一个项目列表,以及当前计算机中是否安装了它们,如图 1-12 所示。 图 1-12 选中您的项目需要的工具、文档和平台。然后,单击 Install 按钮下载它们。因为从 Google 的服务器下载需要一些时间,只下载迫切需要的东西,而等到有更多时间时再下载其他东 第 1 章 Android 编程入门 11 西是一个好主意。现在,可以只选中图中显示的项。 每个版本的 Android OS 都通过一个 API 级别号标识。例如,Android 2.3.3 是级别 10(API 10),而 Android 3.0 是级别 11(API 11)等。对于每个级别,有两个平台可用,例如,级别 14 提供了以下两个平台: ● SDK Platform ● Google 公司的 Google APIs 两者的关键区别是,Google APIs 平台包含 Google 提供的附加 API(如 Google Maps 库)。 因此,如果所编写的应用程序需要使用 Google Maps,就需要使用 Google APIs 平台创建一 个 AVD(第 9 章将详细介绍这方面的知识)。 需要选择要安装的包(如图 1-13 所示)。选中 Accept All 选项,然后单击 Install 按钮。 图 1-13 SDK Manager 将继续下载选中的包。安装过程需要一些时间,所以要保持耐心。所有 的包安装完成后,会要求重启 ADB(Android Debug Bridge)。单击 Yes 按钮。 1.2.4 Eclipse 下一步是获得 Android 应用程序开发的集成开发环境(IDE)。就 Android 来说,推荐使 用Eclipse。它是一个多语言的软件开发环境,有一个可扩展的插件系统。通过它可以用Java、 Ada、C、C++、COBOL、Python 等语言开发各种类型的应用程序。 对于 Android 的开发,要下载 Eclipse IDE for Java EE Developers (www.eclipse.org/ downloads/)。目前有 6 个版本可用:Windows(32 位和 64 位)、Mac OS X (Cocoa 32 和 64) 以 及 Linux (32 位和 64 位)。只要选择与您的操作系统相对应的那个版本进行安装即可。本书 注意:一开始,至少应该选中最新的 Android 4.0 SDK 平台和 Extras。在创作 本书时,最新的 SDK 平台是 SDK Platform Android 4.0,API 14。 Android 4 编程入门经典—开发智能 开奖结果现场直播软件,黄大仙现场开奖直播与平板电脑应用 12 图 1-14 所有示例均使用 Windows 平台下的 32 位版本的 Eclipse 进行过测试。 下载 Eclipse IDE 后,把其内容(eclipse 文件夹)解压到一个文件 夹下,比如 C:\Android 4.0\。图 1-14 显示了 eclipse 文件夹的内容。 要启动 Eclipse,可以双击 eclipse.exe 文件。这时系统会要求指定 工作区。Eclipse 中的工作区就是存储所有项目的一个文件夹。接受建 议的默认工作区(也可以指定自己的文件夹作为工作区),然后单击 OK 按钮。 1.2.5 Android 开发工具 启动 Eclipse 后,选择 Help | Install New Software 菜单项(如图 1-15 所示)来安装 Eclipse 的 Android Development Tools(ADT)插件。 图 1-15 ADT 是对 Eclipse IDE 的扩展,用以支持 Android 应用程序的创建和调试。使用 ADT, 可以在 Eclipse 中做如下工作: ● 创建新的 Android 应用程序项目 ● 访问 Android 模拟器和设备的存取工具 ● 编译和调试 Android 应用程序 ● 将 Android 应用程序导出到 Android 包(APK) ● 创建数字证书来对 APK 进行代码签名 在出现的 Install 窗口中的文本框内输入 https://dl-ssl.google.com/android/eclipse/,然后 按 Enter 键。稍后,您将看到在窗口的正中央显示出 Developer Tools 项(如图 1-16 所示)。 展开后,显示出以下内容:Android DDMS、Android Development Tools、Android Hierarchy 第 1 章 Android 编程入门 13 Viewer 和 Android Traceview。全选并单击 Next 按钮两次。 图 1-16 您会被要求查看并接受工具的许可证。选中 I accept the terms of the license agreements 选项并单击 Finish 按钮。ADT 安装完毕后,将会提示您重启 Eclipse,重启它即可。 重启后,将提示您配置 Android SDK,如图 1-17 所示。因此前一节已经下载了 Android SDK,所以选中 Use existing SDKs 选项,并指定 Android SDK 的安装路径。单击 Next 按钮。 图 1-17 注意:如果在下载 ADT 过程中遇到任何问题,可以在 http://developer.android. com/sdk/eclipse-adt.html#installing 上查找 Google 的帮助。 Android 4 编程入门经典—开发智能 开奖结果现场直播软件,黄大仙现场开奖直播与平板电脑应用 14 完成这一步后,将询问是否把使用数据发送给 Google。做出选择后,单击 Finish 按钮。 1.2.6 创建 Android 虚拟设备(AVD) 下一步是创建用于测试 Android 应用程序的 AVD。AVD 表示 Android 虚拟设备(Android Virtual Device)。AVD 是一个模拟器实例,可以用来模拟一个真实的设备。每一个 AVD 包 含一个硬件配置文件、一个到系统映像的映射,以及模拟存储器(例如安全数字(SD)卡)。 您打算测试多少个不同配置的应用程序,就可以创建多少个 AVD。这种测试对于确定 应用程序在有着不同功能的不同设备上运行时的行为是很重要的。 为了创建 AVD,选择 Window | AVD Manager,如图 1-18 所示。 图 1-18 在 Android Virtual Device Manager 对话框(如图 1-19 所示)中,单击 New…按钮来创建 一个新的 AVD。 在 Create new Android Virtual Device(AVD)窗口中,输入如图 1-20 所示的各项内容。完 成后单击 Create AVD 按钮。 注意:每个新版本的 SDK 发布时,安装步骤都稍有变化。如果您发现安装步 骤与这里的介绍不同,也不用担心,只要按照屏幕上的提示进行操作即可。 注意:附录 B 将讨论 Android 模拟器的部分功能。 第 1 章 Android 编程入门 15 图 1-19 图 1-20 在这里,您已经创建了一个 AVD(简言之,一个 Android 模拟器),可以用来模拟运行 4.0 版本操作系统且内置了 10-MB SD 卡的 Android 设备。除了所创建的 AVD 之外,还可 以选择模拟具有不同屏幕像素密度和分辨率的设备。 注意:附录 B 介绍了如何模拟不同类型的 Android 设备。 Android 4 编程入门经典—开发智能 开奖结果现场直播软件,黄大仙现场开奖直播与平板电脑应用 16 创建一些具有不同 API 级别和硬件配置的 AVD 会更好些,这样您的应用程序可以在 不同版本的 Android OS 上得到测试。 创建了 ADV 以后,就应该测试它。选择想要测试的 AVD,然后单击 Start…按钮。Launch Options 对话框将会显示,如图 1-21 所示。如果显示器较小,建议选中 Scale display to real size 选项,这样可以将模拟器设为一个较小的尺寸。单击 Launch 按钮启动模拟器。 图 1-21 Android 模拟器将会启动,等待一会后就可以使用了,如图 1-22 所示。现在可以试试 模拟器的用法。它就像实际的 Android 设备一样。下一节将学习如何编写你的第一个 Android 应用程序。 图 1-22 第 1 章 Android 编程入门 17 1.3 创建第一个 Android 应用程序 在所有的工具和 SDK 都下载和安装好以后,现在是开动马达的时候了。和所有的编 程书籍一样,第一个示例是用无所不在的 Hello World 应用程序。这将有助于您详细了解构 成一个 Android 项目的不同组件。 试一试 创建第一个 Android 应用程序 HelloWorld.zip 代码文件可以在 Wrox.com 上下载 (1) 启动 Eclipse,选择菜单 File | New | Project...创建一个新项目(如图 1-23 所示)。 图 1-23 (2) 展开 Android 文件夹,选择 Android Project(如图 1-24 所示),单击 Next 按钮。 (3) 按图 1-25 所示将 Android 项目命名为 HelloWorld,然后单击 Next 按钮。 注意:在创建了您的第一个 Android 应用程序后,以后的 Android 项目可以通 过依次选择菜单项 File | New | Android Project 来创建。 Android 4 编程入门经典—开发智能 开奖结果现场直播软件,黄大仙现场开奖直播与平板电脑应用 18 图 1-24 图 1-25 (4) 选择 Android 4.0 目标,然后单击 Next 按钮。 (5) 按照图 1-26 所示填写 Application Info,单击 Finish 按钮。 注意:您要在包的名称中至少包含一个句点(.)。包名称的惯例是使用反向域名, 项目名称紧随其后。例如,本书作者公司的域名是 learn2develop.net,因此作 者的包的名称应该是 net.learn2develop.HelloWorld。 第 1 章 Android 编程入门 19 图 1-26 (6) 此时,Eclipse IDE 应该如图 1-27 所示。 (7) 在 Package Explorer 窗口(位于 Eclipse IDE 的左边)中,单击项目中每个项左侧显示的各 种箭头,展开 HelloWorld 项目,如图 1-28 所示。在 res/layout 文件夹中,双击 main.xml 文件。 图 1-27 Android 4 编程入门经典—开发智能 开奖结果现场直播软件,黄大仙现场开奖直播与平板电脑应用 20 图 1-28 (8) main.xml 文件定义了应用程序的用户界面(UI)。默认视图是 Layout 视图,以图形化的 方式显示了活动。要修改该用户界面,可单击位于底部的 main.xml 选项卡(如图 1-29 所示)。 图 1-29 (9) 把下列粗体显示的代码添加到 main.xml 文件中: 第 1 章 Android 编程入门 21
还剩128页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享pdf获得金币 ] 4 人已下载

下载pdf

pdf贡献者

jedi

贡献于2013-12-15

下载需要 10 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf