首页>参考读物>计算机科学与技术>软件与程序设计

Android程序设计
作者 : (美)Zigurd Mednieks,Laird Dornin,G. Blake Meike,Masumi Nakamura 著
译者 : 祝洪凯 李妹芳 译
出版日期 : 2013-03-04
ISBN : 978-7-111-40184-1
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 453
开本 : 16
原书名 : Programming Android
原出版社: OReilly Media, Inc.
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书旨在讲解如何构建良好的Android应用,共分三部分,第一部分介绍SDK工具,使你能够访问本书的样例代码,通过这部分的SDK介绍,你甚至可以扩展自己对SDK工具、Java和数据库设计的理解。第二部分旨在帮助我们奠定构建较大型Android应用的基础。第三部分介绍了Android在特定应用领域的API:多媒体、地理位置、传感器和通信,以及一些其它方面,从而帮助你在自己感兴趣的领域掌握Android应用编程。本书适合不同背景的Android编程人员。

图书特色

Android程序设计
  如何才能构建设计良好的工程化Android应用?这本权威的Android应用开发指南系统深入地剖析了Android的核心模块和API,揭示了如何创建可以运行在一系列Android设备上的优秀应用。
  本书不仅探讨了行之有效的应用设计和实现方式,还深入地讨论了传感器、本地开发、3D图形等所有Android应用开发者需要掌握的主题,完美地展示了如何在不同的平台上构建Android应用。
本书包含以下内容:
■ Android开发环境的搭建、各种开发工具的使用,以及应用的发布流程和方法;
■ Android的各种主要组件,以及开发者必须掌握的Java编程 技能;
■ 视图的构建、Fragments的跨平台支持、二维和三维图形的绘制;
■ 数据处理和数据持久化,Android特有的数据库设计问题和SQLite;
■ 使用传感器和手势来扩展应用的输入,而不是局限于单击和滚动;
■ 探讨多媒体、地理位置、通信、NFC及其他应用的Android API。
“终于有一本详细的Android编程书籍!欢呼!”——Perry J. Nally, FeetDog.com
“非常优秀的作品!我一开始阅读就爱不释手。”——Wenjing Dai, 开发人员
  Zigurd Mednieks是世界知名的投资顾问,为主流OEM、企业以及创建基于Android系统的创业企业提供咨询。
  Laird Dornin是一家大型无线运营商的高级工程师,在Java、Android、J2ME、SavaJe和WebKit方面有丰富的经验。
  G. Blake Meike是一位经验丰富的开发人员,在为移动和服务端平台构建Java应用方面有丰富的经验。
  Masumi Nakamura是Where公司的Big Data和Recommendations团队的首席架构师。

图书前言

本书旨在帮助你创建良好的Android应用,而不仅仅是一些小的示例应用。
本书适合不同背景的Android编程人员。如果你一直在用Objective-C为iPhone或Mac OS编写应用,你会发现本书中Android工具和Java语言特性等与Android编程相关的介绍能够帮助你理解Android移动应用开发。如果你是一名经验丰富的Java编程人员,会发现本书中介绍的Android应用架构有助于你在这个新的充满活力的Java客户端应用开发中运用你的Java专业知识。简而言之,本书面向的是那些在面向对象语言、移动应用、REST应用及类似领域中有一定经验的人。从本书中,可以更深入地了解Android编程,而这些内容远远不止是一本入门书或者一些在线的教程所能够涵盖的。
本书组织方式
我们希望能够快速带你掌握本书的内容。本书第一部分将帮你逐步掌握SDK工具,使你能够访问本书的示例代码,通过该部分的SDK介绍,你甚至可以加深自己对SDK工具、Java和数据库设计的理解。如果你已经对第一部分所涉及的工具和基础知识非常熟悉,则可以跳过该部分直接进入本书第二部分,第二部分的目标是帮助你奠定构建较大型Android应用的基础。
本书的核心是一个应用实例,它使用Web服务给用户传送信息——这种方式在很多应用的核心中运用。本书介绍了一种应用架构,以及一种使用Android框架类的新方法,它们能够帮助你非常高效地使用Android框架类。可以使用这个应用实例作为框架来创建自己的应用,也可以作为学习Android编程的工具。
本书最后一部分介绍了Android在特定应用领域的API:多媒体、地理位置、传感器和通信等,从而帮助你在自己感兴趣的领域掌握Android应用编程。
当你阅读完本书时,希望你所掌握的不仅仅是参考资料知识和对一些例子的实践经验。希望你对如何创建优秀的Android应用也能有自己的思路。
本书约定
本书遵循以下字体体例:
斜体(Italic)
表示新的术语、URL、E-mail地址、文件名和文件扩展名。
等宽字体(Constant width)
用于程序清单及段落中的程序单元,如变量或函数名称、数据库、数据类型、环境变量、声明和关键字等。
等宽粗体(Constant width bold)
显示命令或者其他应该由用户逐字输入的文本。
等宽斜体(Constant width italic)
表示必须根据用户提供的值或者由上下文决定的值进行替代的文本。
注意: 这个图标表示提示、建议或一般性注意事项。
警告: 表示和附近文字相关的警告和注意事项。
使用本书的示例代码
本书旨在帮助你完成工作。通常来说,你可以在程序和文档中使用本书的代码。除非你使用了本书的大量代码,否则你无需联系我们获取许可。例如,编写一个用到本书中几段代码的程序就不需要获得许可,销售和分发 O’Reilly 丛书的代码CD-ROM需要获得许可,引用本书的示例代码来解决一个问题不需要获得许可,在你的产品文档中使用本书的大量代码需要获得许可。
我们不要求你引用本书时给出出处,但是如果你这么做,我们会对此表示感谢。出处通常包含标题、作者、出版社和 ISBN。例如:“Programming Android by Zigurd Mednieks, Laird Dornin, G. Blake Meike, and Masumi Nakamura. Copyright 2011 O’Reilly Media, Inc., 978-1-449-38969-7.”
如果你觉得你对本书示例代码的使用超出了这里给出的许可范围,请与我们联系:permissions@oreilly.com。
联系我们
有关本书的任何建议和疑问,可以通过下列方式与我们取得联系:
美国:
O’Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
中国:
北京市西城区西直门南大街2号成铭大厦C座807室(100035)
奥莱利技术咨询(北京)有限公司
我们会在本书的网页中列出勘误表、示例和其他信息。可以通过http://oreilly.com/catalog/9781449389697/访问该页面。
要评论或询问本书的技术问题,请发送邮件到:
bookquestions@oreilly.com
有关我们的书籍、会议、资源中心以及O’Reilly网络,可以访问我们的网站:
http://www.oreilly.com
http://www.oreilly.com.cn
在Facebook上联系我们:http://facebook.com/oreilly
在Twitter上联系我们:http://twitter.com/oreillymedia
在You Tube上联系我们:http://youtube.com/oreillymedia
致谢
本书的部分内容改编自作者以前出版的《Android应用开发》一书(O’Reilly)。
本书的草稿发布在O’Reilly开放源反馈发布系统(OFPS)上,以得到您的反馈,旨在获悉本书是否以及如何满足你的需求。我们非常感谢参与OFPS的读者,我们感谢他们在纠正我们的错误,提高我们的写作水平。公开审校草稿将未来的版本中的一部分,在本书的第一个环节上,我们欢迎您的意见。

封底文字

如何才能构建设计良好的Android应用?通过本书提供的权威指南,深入探索Android核心模块及其API,了解如何创建可以运行在一系列Android设备上的出色的应用软件。本书将带你探索行之有效的应用设计和实施方式,包括一些应用框架,你可以把这些框架作为自己项目的起始点。
深入传感器、本地开发、3D图形和许多其他主题,并发现如何在选择的平台上构建应用程序。如果你要进阶到高级程序员,你将学会如何创建良好的Android应用程序。
 了解如何在Eclipse IDE中使用Android SDK
 掌握高级的Java编程思想,无论你是否有Java编程经验
 创建吸引人且易于操作的Android用户界面
 理解Android特有的数据库设计问题及SQLite
 使用传感器和手势来丰富你的应用输入,而不是局限于点击和滚动
 探索多媒体、地理位置、通信、NFC及其他应用的Android API

作者简介

(美)Zigurd Mednieks,Laird Dornin,G. Blake Meike,Masumi Nakamura 著:Zigurd Mednieks是领先的OEM、企业和创建基于Android系统的创业投资顾问。 Laird Dornin是一家大型无线运营商的高级工程师,在Java、Android、J2ME、SavaJe和WebKit方面有丰富的经验。 G.Blake Meike是一位经验丰富的开发人员,为移动和服务端平台构建Java应用有丰富的经验。 Masumi Nakamura是Where Inc.的Big Data和Recommendations组的首席架构师。

译者简介

祝洪凯 李妹芳 译:暂无简介

译者序

Android应用已经不断渗透到人们的生活中。本书以开发设计良好的Android应用为主题,循序渐进介绍了Android开发的相关知识。本书内容翔实,从基础概念、工具环境的说明,Android系统框架的介绍,到骨架(skeleton)应用的探索以及一些相关高级主题的展开,适合不同背景的Android编程人员,是一本不错的Andorid编程指南。
  本书分为四部分,深入浅出讲解了Android编程的相关知识。第一部分介绍了Android编程的基础概念和工具环境,以及Android环境下的Java编程思想。第二部分探讨了Android应用的底层框架,通过更好地理解框架,帮助读者奠定开发优良的、大型的Android应用的基础。第三部分详细讲解了Android骨架应用,不但有助于巩固理解前面的知识,也是读者把它作为自己应用开发的很好的起始点。第四部分对一些Android高级应用所使用的API进行展开,给出很多实例代码,可以作为开发这类应用的演示。
  本书译者本是抱着学习了解Android的心态阅读此书,读完之后觉得不错,想加深理解,就翻译了此书。译者在翻译过程中深感自己对Android专业知识积累不太够,在翻译中查阅了很多资料和网络资源,常常为某些语句如何表达纠结了几天,必定还存在诸多表达不准确的地方,敬请谅解。在这里要特别感谢机械工业出版社华章分社吴怡老师的很多辛苦付出,也感谢所有其他为本书付出努力的编辑。
  由于时间、精力、能力有限,本书的疏漏、错误之处在所难免,还望各位读者不吝指正。
译者

图书目录

前言 1
第一部分 工具和基础
第1章 工具包 7
1.1 Android SDK的安装和系统需求 7
1.2 小试牛刀:确认安装是否能够正常工作 16
1.3 SDK的组件 24
1.4 保持版本最新 30
1.5 示例代码 32
1.6 关于代码阅读 34
第2章 Android开发之Java必备基础 35
2.1 Android正在重塑客户端Java 35
2.2 Java类型系统 36
2.3 作用域 57
2.4 Java编程惯例 61
第3章 Android应用的主要组件 75
3.1 Android平台和传统编程模型的对比 75
3.2 活动、意图和任务 76
3.3 其他Android组件 78
3.4 静态应用资源和上下文 82
3.5 Resources 87
3.6 Android应用的运行时环境 88
3.7 组件生命周期 89
3.8 Android应用打包:.apk文件 91
3.9 把软件移植到Android中 92
第4章 应用发布之前的准备工作 93
4.1 应用签名 93
4.2 把应用投放到Android市场 102
4.3 Google地图API密钥 104
4.4 指定API级别的兼容性 104
4.5 兼容不同的屏幕类型 105
第5章 Android软件开发工具Eclipse 107
5.1 Eclipse相关的概念和术语 108
5.2 Eclipse视图和透视图 113
5.3 Eclipse中的Java编程 115
5.4 Eclipse和Android 117
5.5 预防Bug并保持代码整洁 118
5.6 Eclipse特性和替代品 125
第6章 Android下的高效Java编程 126
6.1 Android框架 126
6.2 组织Java源代码 133
6.3 Android中的并发编程 135
6.4 序列化 148
第二部分 Android框架
第7章 构建视图 159
7.1 Android GUI架构 159
7.2 组装图形界面 163
7.3 控制器布局 168
7.4 菜单栏 184
第8章 Fragment和跨平台支持 187
8.1 创建Fragment 188
8.2 Fragment生命周期 190
8.3 Fragment管理器 192
8.4 Fragment事务 193
8.5 兼容包 198
第9章 二维和三维图形的绘制 199
9.1 自己动手开发部件 199
9.2 Bling 220
第10章 数据处理和数据持久化 232
10.1 关系数据库概览 232
10.2 SQLite 233
10.3 SQL语言 233
10.4 Android应用中的SQL和以数据库为中心的数据模型 243
10.5 Android数据库类 244
10.6 Android应用的数据库设计 245
10.7 使用数据库API:MJAndroid 248
第三部分 Android的框架应用
第11章 运行良好的应用框架 263
11.1 对生命周期进行可视化 263
11.2 Fragment生命周期可视化 274
11.3 Activity类和运行良好的应用 277
11.4 Application类的生命周期方法 278
11.5 活动之间流畅直观的用户体验 281
第12章 使用内容提供者 286
12.1 理解内容提供者 287
12.2 定义提供者的公用API 290
12.3 编写并集成内容提供者 295
12.4 文件管理和二进制数据 296
12.5 Android MVC和内容查看器 298
12.6 一个完整的内容提供者代码:SimpleFinchVideoContentProvider 299
12.7 声明自己的内容提供者 307
第13章 探讨内容提供者 309
13.1 开发RESTful类型的Android应用 310
13.2 Network MVC 311
13.3 Network MVC方式的优点小结 312
13.4 代码实例:动态列出并缓存YouTube视频内容 314
13.5 Finch YouTube视频示例的源代码结构 315
13.6 视频搜索应用的各个步骤 316
第四部分 高级话题
第14章 多媒体 339
14.1 音频和视频 339
14.2 播放音频和视频 340
14.3 录制音频和视频 344
14.4 存储的媒体内容 350
第15章 地理位置和地图定位 351
15.1 基于地理位置的服务 352
15.2 地图定位 353
15.3 Google Maps Activity 353
15.4 MapView和MapActivity 354
15.5 使用MapView 355
15.6 MapView和MyLocationOverlay初始化 355
15.7 暂停和恢复MapActivity 358
15.8 通过菜单按钮控制地图 359
15.9 通过键盘操作地图 361
15.10 没有地图的地理位置 362
第16章 传感器、NFC、语音、手势和可访问性 371
16.1 传感器 371
16.2 近场通信 375
16.3 手势输入 386
16.4 可访问性 387
第17章 通信、身份认证、同步和社交媒体 390
17.1 账户信息 390
17.2 认证和同步 393
17.3 蓝牙 408
第18章 Android本地开发工具箱 424
18.1 本地方法和JNI调用 425
18.2 Android NDK 426
18.3 Android提供的本地库 430
18.4 编译自己定制的库模块 432
18.5 本地活动 435

教学资源推荐
作者: 凌云 谢满德 陈志贤 吴海燕 编著
作者: 谢满德 刘文强 张国萍 编著
作者: [美] 埃里克·伽玛(Erich Gamma) 理查德·赫尔姆(Richard Helm) 拉尔夫·约翰逊(Ralph Johnson) 约翰·威利斯迪斯(John Vlissides) 著
参考读物推荐
作者: David Flanagan
作者: (美)Charles Ashbacher
作者: 【美】米兰·斯特瓦诺维奇(Milan Stevanovic) 著