新書推薦:
《
索恩丛书·盛清统治下的太监与皇帝
》
售價:NT$
403.0
《
透过器物看历史(全6册)
》
售價:NT$
2234.0
《
我在台北故宫博物院读名画
》
售價:NT$
500.0
《
尼罗河往事:古埃及文明4000年
》
售價:NT$
347.0
《
一个人·谁也不是·十万人(诺贝尔文学奖得主反思自我的巅峰之作)
》
售價:NT$
250.0
《
重写晚明史(全5册 精装)
》
售價:NT$
3560.0
《
汉末晋初之际政治研究
》
售價:NT$
602.0
《
强者破局:资治通鉴成事之道
》
售價:NT$
367.0
|
編輯推薦: |
想为Android设备开发应用程序吗?本书是助你入门的良方。作者是培训了大机构和创业公司数百位开发人员的移动开发专家。这本优雅的导论给有面向对象开发经验的程序员展示了如何利用Android的基本构件来创建用户界面、存储数据和执行连接网络等操作。
本书将一步步地引导你构建一个类似Twitter的应用程序,每章都添加一些新功能。你也将建立自己的代码模式工具包,借助它可以轻松地编写任何Android应用程序。
■了解Android平台及其在移动生态系统中的地位。
■深入了解Android套件,包括其应用程序框架及APK应用程序包。
■学习活动、意图、服务、内容提供器和广播接收器等Android构件。
■创建基本的Android用户界面,并利用视图和布局来组织界面元素。
■在应用程序中构建一个执行后台进程来更新数据的服务。
|
內容簡介: |
《Learning Android中文版(第2版)》是一本介绍Android 开发的入门图书,它循序渐进地介绍了如何利用Android 基本构件来创建用户界面、存储数据和执行连接网络等操作。《Learning Android中文版(第2版)》以亲手实现一个类Twitter 的应用程序为主线,通过不断为其添加功能展开讲解。而这一学习过程积累出的代码模式库,可以运用于实际Android 应用程序开发。《Learning Android中文版(第2版)》内容包括:Android 平台概览及其在移动生态系统中的地位、Android 设计架构、Android 开发环境配置、Android 构件、基本Android 的用户界面构建、界面元素组织方法、构建执行后台任务与更新数据的服务等。
《Learning Android中文版(第2版)》适合想快速掌握Android 开发知识或想从其他开发平台转向Android 的读者阅读。
|
關於作者: |
Marko Gargenta(马尔科)是Twitter大学的校长,他负责在Android和其他开源技术方面对Twitter的工程师进行培训。此前,他是Marakana(由Twitter收购)的创始人之一,也是Android训练营课程的创造者。
Masumi Nakamura(中村真澄)是Placester公司工程副总裁和TechStars的教师,有超过15年的软件行业经验,他熟悉软件的各方面,从移动开发到扩展大规模后台系统,而且他还在运营Paypal公司的一个数据科学团队。
卢涛先生为资本市场资深人士,为国内第一批期货交易员以及第一批证券从业资格的获得者。在期货公司、投资银行、上市公司、投资公司均有过丰富的任职经历。卢涛先生与三联商社控股股东及实际控制人不存在关联关系,未持有三联商社股份,未受过中国证监会及其他有关部门的处罚和证券交易所惩戒。
|
目錄:
|
前言 ............................................................................. xvbr
第1 章 Android 概述 ..................................................... 1br
1.1 Android 基本特点 ............................................................................................1br
全面 .................................................................................................................1br
开源平台 .........................................................................................................2br
专为移动设备设计 ..........................................................................................2br
1.2 历史 .................................................................................................................3br
谷歌的动机 .....................................................................................................3br
Android 的兼容性 ............................................................................................4br
开放手机联盟 ..................................................................................................4br
1.3 Android 的版本 ...............................................................................................5br
1.4 Android 的风格 ...............................................................................................7br
Android 开源项目 ............................................................................................7br
制造商的加载项 ..............................................................................................7br
1.5 总结 .................................................................................................................8br
第2 章 Java 综述 .......................................................... 9br
2.1 注释 ...............................................................................................................12br
2.2 数据类型:基本数据类型和对象 ..................................................................13br
2.3 修饰符 ...........................................................................................................14br
2.4 数组 ...............................................................................................................15br
2.5 运算符 ...........................................................................................................16br
2.6 控制流语句 ...................................................................................................16br
2.7 错误 异常处理 .............................................................................................19br
2.8 复杂的示例 ...................................................................................................22br
2.9 接口和继承 ...................................................................................................26br
2.10 集合 .............................................................................................................27br
2.11 泛型 .............................................................................................................28br
2.12 线程 .............................................................................................................28br
2.13 总结 .............................................................................................................29br
第3 章 Android 套件 .................................................... 31br
3.1 套件概述 .......................................................................................................31br
3.2 Linux .............................................................................................................31br
Android 不等于Linux ...................................................................................33br
3.3 本地层 ...........................................................................................................33br
HAL...............................................................................................................34br
本地库 ...........................................................................................................34br
本地守护进程 ................................................................................................35br
本地工具 .......................................................................................................36br
3.4 Dalvik ............................................................................................................36br
Android 和Java .............................................................................................37br
3.5 应用程序框架 ................................................................................................39br
3.6 应用程序 .......................................................................................................40br
Android 应用程序包(APK) .........................................................................40br
应用程序签名 ................................................................................................41br
应用程序分发 ................................................................................................41br
3.7 总结 ...............................................................................................................42br
第4 章 安装和开始使用Android 工具 ........................... 43br
4.1 安装Java 开发工具包 ...................................................................................43br
4.2 安装Android SDK ........................................................................................45br
为工具设置PATH 环境变量 ..........................................................................45br
安装Eclipse ..................................................................................................46br
Eclipse 工作区 ...............................................................................................46br
设置Android 开发工具 .................................................................................46br
4.3 Hello World! ..................................................................................................48br
创建新项目 ...................................................................................................48br
4.4 剖析一个Android 项目 .................................................................................51br
Android 的清单文件 ......................................................................................51br
字符串资源 ...................................................................................................54br
布局XML 代码 .............................................................................................55br
4.5 可绘制资源 ...................................................................................................56br
R 文件 ...........................................................................................................56br
Java 源代码 ...................................................................................................57br
4.6 构建项目 .......................................................................................................58br
4.7 Android 仿真器 .............................................................................................59br
仿真器与真实手机对比 .................................................................................59br
4.8 总结 ...............................................................................................................62br
第5 章 主要构件 .......................................................... 63br
5.1 一个实际的例子 ............................................................................................63br
5.2 活动 ...............................................................................................................64br
活动的生命周期 ............................................................................................64br
5.3 意图 ...............................................................................................................68br
5.4 服务 ...............................................................................................................69br
5.5 内容提供器 ...................................................................................................70br
5.6 广播接收器 ...................................................................................................72br
5.7 应用程序上下文 ............................................................................................72br
5.8 总结 ...............................................................................................................74br
第6 章 Yamba 项目概况 .............................................. 75br
6.1 Yamba 应用程序 ............................................................................................75br
6.2 设计理念 .......................................................................................................79br
6.3 项目设计 .......................................................................................................80br
6.4 第1 部分:Android 用户界面 .......................................................................81br
6.5 第2 部分:意图、活动条及其他 ..................................................................82br
6.6 第3 部分:Android 服务 ..............................................................................82br
6.7 第4 部分:内容提供器 .................................................................................83br
6.8 第5 部分:列表和适配器 .............................................................................83br
6.9 第6 部分:广播接收器 .................................................................................84br
6.10 第7 部分:应用程序控件 ...........................................................................84br
6.11 第8 部分:联网和Web(HTTP) ................................................................85br
6.12 第9 部分:动态壁纸和处理程序 ................................................................85br
6.13 总结 .............................................................................................................85br
第7 章 Android 的用户界面 ......................................... 87br
7.1 创建用户界面的两种方法 .............................................................................87br
声明式用户界面 ............................................................................................87br
编程式用户界面 ............................................................................................88br
各取所长 .......................................................................................................88br
7.2 视图和布局 ...................................................................................................88br
LinearLayout(线性布局) .............................................................................89br
TableLayout(表格布局) ..............................................................................90br
FrameLayout(帧布局) .................................................................................91br
RelativeLayout(相对布局) ..........................................................................92br
7.3 启动Yamba 项目 ...........................................................................................93br
7.4 StatusActivity 布局 ........................................................................................97br
重要的控件属性 .......................................................................................... 101br
字符串资源 ................................................................................................. 103br
7.5 StatusActivity Java 类 ................................................................................. 104br
释放XML 到Java ....................................................................................... 104br
初始化对象 ................................................................................................. 106br
处理用户事件 .............................................................................................. 107br
7.6 在Android 中记录消息日志 ........................................................................ 108br
LogCat ......................................................................................................... 108br
编译代码并构建项目:保存文件 ................................................................ 109br
添加Twitter API 库 ..................................................................................... 112br
更新清单文件以获取Internet 权限 ............................................................. 113br
7.7 Android 中的线程机制 ................................................................................ 114br
单线程 ......................................................................................................... 114br
多线程的执行 .............................................................................................. 115br
AsyncTask(异步任务) ............................................................................... 116br
7.8 其他UI 事件 ............................................................................................... 119br
7.9 备用资源 ..................................................................................................... 124br
7.10 总结 ........................................................................................................... 127br
第8 章 片段 .............................................................. 129br
8.1 片段示例 ..................................................................................................... 129br
8.2 片段的生命周期 .......................................................................................... 136br
8.3 动态添加片段 .............................................................................................. 137br
8.4 总结 ............................................................................................................. 139br
第9 章 意图、活动条及其他 ....................................... 141br
9.1 首选项 ......................................................................................................... 141br
首选项资源 ................................................................................................. 142br
SettingsActivity ........................................................................................... 145br
更新清单文件 .............................................................................................. 147br
9.2 活动条 ......................................................................................................... 148br
创建一个空白主活动 ................................................................................... 149br
菜单资源 ..................................................................................................... 150br
Android 的系统资源 .................................................................................... 152br
加载菜单 ..................................................................................................... 153br
更新StatusActivity 来处理菜单事件 ........................................................... 154br
9.3 共享首选项及更新消息片段 ....................................................................... 155br
9.4 文件系统简介 .............................................................................................. 157br
访问文件系统 .............................................................................................. 158br
文件系统分区 .............................................................................................. 158br
系统分区 ..................................................................................................... 158br
SD 卡分区 ................................................................................................... 158br
用户数据分区 .............................................................................................. 160br
文件系统安全 .............................................................................................. 161br
9.5 总结 ............................................................................................................. 161br
第10 章 服务 ............................................................ 163br
10.1 示例服务:RefreshService ........................................................................ 164br
创建RefreshService Java 类 ........................................................................ 164br
介绍IntentService ....................................................................................... 166br
更新清单文件 .............................................................................................. 167br
添加菜单项 ................................................................................................. 168br
更新选项菜单处理 ...................................................................................... 168br
测试服务 ..................................................................................................... 169br
10.2 从Yamba 提取数据 ................................................................................... 169br
测试服务 ..................................................................................................... 172br
10.3 总结 ...............................................................................................172br
第11 章 内容提供器 .................................................. 175br
11.1 Android 上的数据库 .................................................................................. 175br
关于SQLite ................................................................................................. 176br
DbHelper ..................................................................................................... 176br
数据库模式及其创建 ................................................................................... 177br
四个主要操作 .............................................................................................. 177br
游标 ............................................................................................................. 178br
11.2 消息合同类 ................................................................................................ 179br
11.3 更新RefreshService .................................................................................. 181br
测试服务 ..................................................................................................... 184br
11.4 内容提供器 ................................................................................................ 186br
11.5 创建一个内容提供器 ................................................................................. 187br
定义URI ..................................................................................................... 187br
获取数据类型 .............................................................................................. 189br
插入数据 ..................................................................................................... 191br
更新数据 ..................................................................................................... 192br
删除数据 ..................................................................................................... 193br
查询数据 ..................................................................................................... 194br
更新Android 清单文件 ............................................................................... 199br
更新RefreshService .................................................................................... 200br
11.6 总结 ........................................................................................................... 201br
第12 章 列表和适配器 ............................................... 203br
12.1 主活动 ....................................................................................................... 203br
12.2 基本的主活动 ............................................................................................ 203br
12.3 时间表片段 ............................................................................................... 205br
创建列表项布局 .......................................................................................... 206br
12.4 关于适配器 ............................................................................................... 207br
12.5 加载数据 ................................................................................................... 208br
12.6 通过ViewBinder 定制逻辑 ....................................................................... 211br
12.7 详情视图 ................................................................................................... 213br
详情片段 ..................................................................................................... 214br
详情活动 ..................................................................................................... 216br
注册到清单文件 .......................................................................................... 217br
主活动,横向视图 ...................................................................................... 217br
更新时间表片段 .......................................................................................... 218br
12.8 总结 ........................................................................................................... 221br
第13 章 广播接收器 .................................................. 223br
13.1 关于广播接收器 ........................................................................................ 223br
13.2 开机接收器 ............................................................................................... 224br
将BootReceiver 注册到Android 清单文件 ................................................. 224br
测试开机接收器 .......................................................................................... 225br
13.3 警报和系统服务 ........................................................................................ 225br
13.4 广播意图 ................................................................................................... 227br
通知接收器 ................................................................................................. 230br
13.5 总结 ........................................................................................................... 231br
第14 章 应用程序控件 ............................................... 233br
14.1 通过控件使用内容提供器 ......................................................................... 233br
实现YambaWidget 类 ................................................................................. 234br
创建XML 布局 ........................................................................................... 236br
创建AppWidgetProviderInfo 文件 .............................................................. 238br
更新清单文件 .............................................................................................. 238br
测试控件 ..................................................................................................... 239br
14.2 总结 ........................................................................................................... 239br
第15 章 联网和Web 概述 .......................................... 241br
15.1 简单的例子 ............................................................................................... 241br
15.2 联网基础 ................................................................................................... 242br
15.3 HTTP API .................................................................................................. 244br
15.4 Apache HTTP 客户端 ................................................................................ 245br
15.5 HttpUrlConnection .................................................................................... 248br
15.6 使用AsyncTask 和AsyncTaskLoader 在后台联网 .................................... 251br
15.7 总结 ........................................................................................................... 251br
第16 章 互动与动画:动态壁纸和处理程序 ................ 253br
16.1 动态壁纸 ................................................................................................... 253br
16.2 处理程序 ................................................................................................... 260br
16.3 总结 ........................................................................................................... 262br
索引 ........................................................................... 263br
|
內容試閱:
|
本书源自多年积累的Marakana Android 培训课程,其受众是多达几千名的软件开发人员,他们来自世界各地,遍布四大洲最大的移动设备公司。在教学过程中,我总结了哪些实践可行,哪些实践不可行。经过对开发的培训教程的大量调整和提炼,最终把其中的精华编成本书。
甚至在Java 被命名为Java 之前,我就已经开始涉足其开发领域。一开始,我对嵌入式开发非常感兴趣,用它对在日常生活中我们周边的各种设备进行编程。因为Java 起初主要用于Web 应用程序开发,而在我过去十年的大多数经验都在构建大型的企业系统。然后Android 问世了,而我再一次对构建非传统的计算机软件变得很兴奋。我目前的兴趣在于在可能甚至不像一个典型的电话设备上采用Android。在此更新的第2 版中,我的合著者真澄(Masumi),除Java 外,他还带来了大量的移动开发经验。
本书向任何了解Java(或类似的语言)的人讲解如何开发一个相当复杂的Android 应用程序。我希望你发现这本书相当全面,而且基于实例的学习对你非常有启发。Learning Android 一书的目标是让你用Android 的方式去思考(think)。
内容提要
第1 章,Android 概述
介绍Android 和它的历史。
第2 章,Java 综述
提供对Java 的简单综述。
第3 章,Android 套件
从一个非常高的层次概述Android 操作系统及其所有的部件。
第4 章,安装和开始使用Android 工具
帮助你设置Android 应用程序开发环境。
第5 章,主要构件
介绍开发人员用来组建一个应用程序的Android 组件。
第6 章,Yamba 项目概况
介绍贯穿全书的Yamba 应用程序,我们将构建它,并以它为例学习Android 的各种功能。
第7 章, Android 的用户界面
介绍如何为应用程序构建用户界面。
第8 章,片段
介绍Fragments API,借助它在应用程序中分隔屏幕。
第9 章,意图、活动条,及其他
介绍一些简化应用程序开发者工作的操作系统功能。
第10 章,服务
介绍建立一个Android 的服务来处理后台任务。
第11 章,内容提供器
说明Android 框架对内置的SQLite 数据库的支持,以及如何使用它在自己的应用程序中保存数据。
第12 章,列表和适配器
涵盖Android 的一个重要功能,允许大型数据集被有效地连接到相对较小的屏幕。
第13 章,广播接收器
介绍如何在Android 中使用发布- 订阅机制为各种系统和用户定义的消息作出回应。
第14 章,应用程序控件
展示如何设计一个内容提供器在应用程序之间共享数据,在这种情况下,使用它使我们的应用程序控件在主屏幕上显示数据。
第15 章,联网和Web 概述
介绍网络连接。
第16 章,互动和动画:动态壁纸和处理程序
提供更高级主题的体验。
本书所使用的约定
以下是本书所使用的排版约定。
斜体(Italic)
表示新的术语、网址(URL)、电子邮件地址、文件名和文件扩展名。
等宽字体(Constant width)
用于程序清单及段落中引用的程序元素,如变量名和函数名、数据库、数据类型、
环境变量、声明和关键字。
等宽粗字体(Constant width bold)
表示命令或由用户输入的文本。
等宽斜体(Constant width italic)
表示应该由用户提供的值来代替上下文决定的值的文本。
使用代码示例
补充材料(代码示例、练习等)请登录https:github.comLearning-android 自行下载。
本书的目的是帮助你完成工作。一般来说,如果示例代码是随本书提供的,那么你可以在你的程序和文档中使用它。你不需要与我们联系来获得许可,除非你直接复制大部分的代码。例如,编写程序时使用了本书中的几段程序代码不需要许可。销售或分发O''Reilly 书籍中例子的CD-ROM 是必须经过许可的。引用本书及本书中的示例代码来回答问题不需要许可。将本书中大量的示例代码整合到你的产品文档中则需要获得许可。
我们很感谢保留出处信息,但不强制。出处信息通常包括标题、作者、出版商和ISBN。例如:“Learning Android, Second Edition by Marko Gargenta and Masumi Nakamura O’Reilly. Copyright 2014 Marko Gargenta and Masumi Nakamura, 978-1-449-31923-6.”
如果你认为你使用的代码示例超出合理使用范围或上面给出的权限范围,请随时与我们联系:permissions@oreilly.com。
Safari Books Online(www.safaribooksonline.com)是一个发布来自全球技术和商业领域的顶尖作者写的书和视频等优质内容的按需数字化图书馆。
技术专业人士、软件开发者、网站设计师及商业和创意专业都用Safari Books Online 作为他们的主要研究、解决问题、学习和认证培训资源。
Safari Books Online 提供了一系列产品及针对组织、政府和个人不同的定价方案,订阅者可以访问到成千上万的图书、培训视频及出版前的手稿,这些内容都可以从出版社,如O’Reilly Media、Prentice Hall Professional、Addison-Wesley Professional、Microsoft Press、Sams、Que、Peachpit Press、Focal Press、Cisco Press、John Wiley Sons、Syngress、Morgan Kaufmann、IBM Redbooks、Packt、Adobe Press、FT Press、Apress、Manning、New Riders、McGraw-Hill、Jones Bartlett、Course Technology 等数据库中搜索而得到,想了解更多关于Safari Books Online 的信息,请在线访问我们。
联系我们
对于本书的评论或问题请联系出版商。
美国:
O’Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
中国:
北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035)
奥莱利技术咨询(北京)有限公司
我们为本书设置了一个网页,在该网页中列出了勘误表、示例和所有附加的信息,你可以从以下网址访问该页面:
http:oreil.lylearning-android-2e
如果要留言或者提交关于本书的技术问题的反馈,请发邮件至:
bookquestions@oreilly.com
本书的更多信息、资源、参考文献和新闻,请登录出版社官方网址:http:www.oreilly.com。
Facebook: http:facebook.comoreilly
Twitter: http:twitter.comoreillymedia
YouTube: http:www.youtube.comoreillymedia
致谢
马尔科 加尔根塔(Marko Gargenta)
这本书是真正优秀的团队合作的结果。首先,我要感谢我的合著者真澄和O’Reilly 的编辑Andy Oram。我知道,真澄写作本书用的时间比我们的预期更长。Andy 的意见准确无误且具有建设性。感谢你对该项目的坚持。
我要感谢我在Marakana(现在是Twitter 的一部分)的团队:Aleksandar Saa Gargenta、Ken Jones、Blake Meike),你们从对Marakana 客户和对Twitter 工程师的Android 教学中带回了第一手反馈资料。这着实让本书的方向截然不同。
最后,非常感谢我的妻子Lisa、女儿Kylie 和儿子Kenzo。你们是所有这些工作真正的灵感。
我爱你们!
中村真澄(Masumi Nakamura)
我想首先要感谢我的合著者Marko 能够同意合作写这个版本,这是一段震撼的旅程。也感谢O''Reilly 的工作人员:Andy Oram、Allyson MacDonald 和Rachel Roumeliotis,他们一直耐心而出色地与我们合作。此外,还要感谢Blake Meike 和Bill Schrickel,他们的技术意见和更正都是非常宝贵的。
还要感谢我的家人——真治(Shinji)、尤里(Yuri)、次郎(Jiro)、年寿(Toshihisa),他们一直非常鼓励和支持我(甚至尝试运行了一些我已经写了几年的例子)。
值得一提的是Jessamyn Hodge,他再次在整个过程中包容和支持了我。我从心底谢谢你。
最后,我还要感谢Android 社区和Google(谷歌)公司,没有你们,这本书的有些内容就不会存在。
|
|