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

打造高质量Android应用:Android开发必知的50个诀窍
作者 : (美)Carlos Sessa 著
译者 : 杨云君 译
丛书名 : 移动开发
出版日期 : 2014-04-10
ISBN : 978-7-111-46136-4
定价 : 49.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 242
开本 : 32
原书名 : 50 Android Hacks
原出版社: Waterside Productions,Inc.
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

图书特色

本书以示例的形式演示和分析了如何解决Android应用开发过程中会碰到的常见问题,这些问题只有零散或者零星的文档可查,但是却经常困扰开发者。本书不仅是一本学习和掌握Android开发技巧的书,更是一本填补空白的书。
—— Jake Wharton,Android工程师



Hack是什么?Hack是解决棘手问题的灵活编程技术;Hack是可以节省开发者两天工作量的那10行代码;Hack是开发者可以从老手或者Stack Overflow网站上的天才那里学到的宝贵经验。Hack正是读者可以从这本精炼且十分有用的书中找到的编程技巧。
本书中的每个Hack不论是简单还是复杂,均彼此独立,而且都通过短短几页内容表述得非常清楚。更重要的是,每个Hack都提供了包含完整注释的源代码。本书涵盖的部分Hack列举如下:
创建定制的ViewGroup
附加Ken Burns特效的幻灯片
模型-视图-主导器模式
同步适配器模式
Android面向切面编程
在Android中使用Scala
数据库批量处理

作者简介
Carlos Sessa 资深Android开发工程师,NASA Trained Monkeys移动开发公司联合创始人。他活跃于Stack Overflow,是一位狂热的Hack收集者,专注于为Android和iOS等移动开发平台提供解决方案。

译者简介
杨云君 资深Android系统工程师,不仅在Android应用开发方面积累了丰富的经验,而且熟悉Android系统级开发和性能优化,对Android系统的架构设计与实现原理有深入研究。现就职于国际领先的移动通信公司,参与过多款旗舰产品的系统级开发和升级工作,并负责ODM产品的性能优化。著有《Android的设计与实现:卷I》。

本书是目前唯一一本从开发技巧角度讲解Android应用开发的著作,旨在迅速提高开发者解决各种疑难问题的能力,从而打造出高质量的Android应用。作译者都是经验丰富的Android开发工程师,作者悉心总结Android应用开发中会遇到的50个经典问题,这些问题涉及布局、动画、视图、工具、列表、适配器、实用库、与其他编程语言的交互、数据库、构建工具、代码复用、避免代码碎片化等多个方面。本书以“问题/解决方案”的形式给出疑难问题的解决方案,同时结合示例代码,深入剖析这些实用的编程技巧和模式,旨在帮助开发人员提高编程效率,改进代码质量,打造高质量的Android应用。

上架指导

计算机\程序设计

封底文字

“本书以示例的形式演示和分析了如何解决Android应用开发过程中会碰到的常见问题,这些问题只有零散或者零星的文档可查,但是却经常困扰开发者。本书不仅是一本学习和掌握Android开发技巧的书,更是一本填补空白的书。”
——Jake Wharton,Android工程师



Hack是什么?Hack是解决棘手问题的灵巧编程技术;Hack是可以节省开发者两天工作量的那10行代码;Hack是开发者可以从老手或者Stack Overflow网站上的天才们那里学到的宝贵经验。Hack正是读者可以从这本精炼且十分有用的书中找到的编程技巧。
本书中的每个Hack不论是简单还是复杂,都彼此独立,而且都通过短短几页内容表述得非常清楚。更重要的是,每个Hack都提供了完整注释的源代码。本书涵盖的部分hacks列举如下:
●创建定制的ViewGroup
●附加Ken Burns特效的幻灯片
●模型-视图-主导器模式
●同步适配器模式
●Android面向切面编程
●在Android中使用Scala
●数据库批量处理

作者简介

(美)Carlos Sessa 著:暂无简介

译者简介

杨云君 译:暂无简介

推荐序

Android是一个迅速向各个领域扩张的生态系统。每天都会有厂商发布新的设备和外观设计,每天都会有客户购买和激活上百万台设备,每天都会有用户下载和试用新的应用程序。开发美观、有吸引力并且令用户满意的应用程序来丰富和完善这个生态系统是每一位开发者(希望也包括读者本人)应尽的责任,只有这样才能为用户提供更好的交互体验。
Android是一个软件开发平台,它诞生于2003年年底,由Danger公司(开发流行的Sidekick手机的公司)的前雇员开发。2005年,运营Android的Danger公司被Google公司收购。三年后,HTC Dream(G1)作为第一款运行Android操作系统的手机正式发布。此后三年,虽然硬件与平台发生了很大的更新和迭代,但是Android依然保持为一个单纯的手机操作系统。
2011年,Google公司为Android添加了新的特性,增加了对两种设备的支持:平板电脑和电视。这不仅标志着官方第一次扩充Android所支持设备的种类,还激发了厂商对其他潜在支持设备的兴趣。现在,Android已经可以运行在笔记本电脑、手表、视频游戏机、车载音响等多种设备上。我相信在不久的将来Android会支持更多的设备。
作为应用开发者,理解平台的多样化和发展方向是非常重要的。在Android上做开发已经不像为竖屏手机设计软件那么简单了。尽管这意味着开发者开发应用程序的工作量增加了,但是,最终结果却是无论应用程序运行在哪种设备上,都会为使用者提供良好的用户体验。
在开发应用程序的过程中,除了个人创造力和开发意愿以外,开发者还需要具备三样东西:平台开发文档、开源社区以及整合资源并融会贯通的能力。平台开发文档比较容易获取,最新版本托管在http://developer.android.com网站上。开源社区有GitHub、Google Code、Stack Overflow以及其他类似网站,这些网站提供了开源库、代码片段以及能够简化程序开发的设计模式。此外,开发者还需要具备把上述零散的知识整合到应用中的能力。这个整合的过程可不像搭积木一样简单,如果那样,任何人都可以开发应用了。本书便是一本分析如何整合资源的指南。
本书以示例程序的形式分析如何解决Android开发过程中出现的常见问题。书中有些示例程序相对简单,有些示例程序相当复杂。这些示例程序分享了一些只有零散或者零星文档可查但是却经常困扰开发者的问题。本书不仅仅是一本单纯学习和掌握Android开发技巧的书,更是一本填补空白的书。
精心设计一个能够动态支持所有Android设备的应用是一项艰巨的任务。通过学习本书以及类似出版物和在线资源提供的知识,我希望能提升读者开发和发布应用的能力。除此之外,我跟读者一样,也是一名开发者和热心用户,我也在耐心等待下一个精彩应用的出现,或许读者就是那个开发它的人。

Jake Wharton
Android工程师

图书目录

推荐序

致谢
关于本书
关于原书封面插图
第1章 活用布局 1
Hack 1 使用weight属性实现视图的居中显示 1
1.1 合用weightSum属性和layout_weight属性 2
1.2 概要 4
1.3 外部链接 4
Hack 2 使用延迟加载以及避免代码重复 4
2.1 使用标签避免代码重复 5
2.2 通过ViewStub实现View的延迟加载 7
2.3 概要 9
2.4 外部链接 9
Hack 3 创建定制的ViewGroup 10
3.1 理解Android绘制视图的方式 11
3.2 创建CascadeLayout 12
3.3 为子视图添加自定义属性 15
3.4 概要 17
3.5 外部链接 17
Hack 4 偏好设置使用技巧 17
4.1 概要 20
4.2 外部链接 20
第2章 添加悦目的动画效果 21
Hack 5 使用TextSwitcher和ImageSwitcher实现平滑过渡 21
5.1 概要 23
5.2 外部链接 23
Hack 6 为ViewGroup的子视图添加悦目的动画效果 24
6.1 概要 26
6.2 外部链接 26
Hack 7 在Canvas上显示动画 26
7.1 概要 28
7.2 外部链接 28
Hack 8 附加Ken Burns特效的幻灯片 29
8.1 概要 31
8.2 外部链接 31
第3章 使用视图的技巧和窍门 33
Hack 9 避免在EditText中验证日期 33
9.1 概要 34
9.2 外部链接 35
Hack 10 格式化TextView的文本 35
10.1 概要 36
10.2 外部链接 37
Hack 11 为文本添加发亮的效果 37
11.1 概要 39
11.2 外部链接 39
Hack 12 为背景添加圆角边框 39
12.1 概要 40
12.2 外部链接 40
Hack 13 在onCreate()方法中获取View的宽度和高度 40
13.1 概要 42
13.2 外部链接 42
Hack 14 VideoView的转屏处理技巧 42
14.1 概要 46
14.2 外部链接 46
Hack 15 移除背景以提升Activity启动速度 46
15.1 概要 48
15.2 外部链接 48
Hack 16 更改Toast显示位置的技巧 48
16.1 概要 50
16.2 外部链接 50
Hack 17 使用Gallery创建向导表单 50
17.1 概要 55
17.2 外部链接 55
第4章 实用工具 56
Hack 18 在发布正式版本前移除日志语句 56
18.1 概要 57
18.2 外部链接 58
Hack 19 使用Hierarchy Viewer工具移除不必要的视图 58
19.1 概要 62
19.2 外部链接 62
第5章 模式 63
Hack 20 模型–视图–主导器模式 63
20.1 概要 66
20.2 外部链接 66
Hack 21 与Activity生命周期绑定的BroadcastReceiver 66
21.1 概要 68
21.2 外部链接 68
Hack 22 使用Android库项目时适用的架构模式 69
22.1 后台逻辑和模型 69
22.2 库项目 70
22.3 Android应用程序 71
22.4 概要 71
22.5 外部链接 72
Hack 23 同步适配器模式 72
23.1 一般方法 72
23.2 我的方法 74
23.3 概要 89
23.4 外部链接 89
第6章 活用列表和适配器 91
Hack 24 处理空列表 91
24.1 概要 92
24.2 外部链接 92
Hack 25 通过ViewHolder优化适配器 93
25.1 概要 95
25.2 外部链接 95
Hack 26 为ListView添加分段标头 95
26.1 创建列表布局 97
26.2 创建可视分段标头 98
26.3 最后一步 99
26.4 概要 100
26.5 外部链接 100
Hack 27 使用Activity和Delegate与适配器交互 101
27.1 概要 103
27.2 外部链接 103
Hack 28 充分利用ListView的头视图 103
28.1 概要 106
28.2 外部链接 106
Hack 29 在ViewPager中处理转屏 106
29.1 概要 108
29.2 外部链接 108
Hack 30 ListView的选择模式 108
30.1 概要 112
30.2 外部链接 113
第7章 实用库 114
Hack 31 Android面向切面编程 114
31.1 概要 118
31.2 外部链接 118
Hack 32 使用Cocos2d-x美化应用程序 118
32.1 Cocos2d-x是什么 119
32.2 使用Cocos2d-x 119
32.3 概要 123
32.4 外部链接 123
第8章 与其他编程语言交互 125
Hack 33 在Android上运行Objective-C 125
33.1 下载并编译Itoa 126
33.2 划分模块 127
33.3 创建Java层代码 131
33.4 概要 132
33.5 外部链接 133
Hack 34 在Android中使用Scala 133
34.1 概要 136
34.2 外部链接 137
第9章 可复用的代码片段 138
Hack 35 同时发起多个Intent 138
35.1 拍照 139
35.2 从相册中选择照片 139
35.3 整合两种Intent 139
35.4 概要 140
35.5 外部链接 140
Hack 36 在用户反馈中收集信息 140
36.1 概要 143
36.2 外部链接 143
Hack 37 向media ContentProvider添加MP3文件 143
37.1 使用ContentValues添加MP3文件 144
37.2 使用MediaScanner添加MP3文件 144
37.3 概要 145
37.4 外部链接 145
Hack 38 为ActionBar添加刷新动作 145
38.1 概要 149
38.2 外部链接 149
Hack 39 从Market中获取依赖功能 149
39.1 概要 151
39.2 外部链接 152
Hack 40 以后进先出方式加载图片 152
40.1 起点:Android示例程序 152
40.2 引入executor 153
40.3 UI线程—离开返回的无缝衔接 155
40.4 注意事项 155
40.5 概要 155
40.6 外部链接 156
第10章 数据库进阶 157
Hack 41 使用ORMLite构建数据库 157
41.1 一个简单的数据模型 158
41.2 开始 159
41.3 坚如磐石的数据库schema 160
41.4 SQLiteOpenHelper——数据库通道 163
41.5 用于数据库访问的单例模式 165
41.6 CRUD操作一点通 166
41.7 查询构建器 167
41.8 数据类型和棘手的外部类型 169
41.9 原生SQL查询 172
41.10 事务 174
41.11 概要 175
41.12 外部链接 176
Hack 42 为SQLite添加自定义功能 176
42.1 Java代码 177
42.2 native代码 178
42.3 概要 180
42.4 外部链接 180
Hack 43 数据库批处理 181
43.1 不使用批处理操作 182
43.2 使用批处理操作 183
43.3 使用SQLiteContentProvider执行批处理操作 184
43.4 概要 186
43.5 外部链接 186
第11章 避免代码碎片化 187
Hack 44 处理熄灯模式 187
44.1 Android 2.x 188
44.2 Android 3.x 189
44.3 在一个Activity中整合两种实现 190
44.4 概要 190
44.5 外部链接 191
Hack 45 在旧版本上使用新API 191
45.1 使用apply()替代commit() 191
45.2 将应用程序安装到SD卡中 194
45.3 概要 195
45.4 外部链接 195
Hack 46 向后兼容的通知 196
46.1 概要 200
46.2 外部链接 200
Hack 47 使用Fragment创建Tab 201
47.1 创建自定义Tab的UI界面 201
47.2 在Activity中放置Tab 202
47.3 概要 203
47.4 外部链接 203
第12章 构建工具 204
Hack 48 使用Apache Maven处理依赖关系 204
48.1 概要 208
48.2 外部链接 208
Hack 49 在root过的设备上安装依赖库 209
49.1 dex预处理 211
49.2 创建与权限相关的XML文件 211
49.3 修改AndroidManifest.xml文件 212
49.4 概要 212
49.5 外部链接 212
Hack 50 使用Jenkins处理设备多样性 213
50.1 创建Jenkins job 215
50.2 运行job 217
50.3 概要 218
50.4 外部链接 219

教学资源推荐
作者: (美)Ira Pohl
作者: 苏俊
作者: 丁山 朱留存 编著
作者: 过敏意 主编吴晨涛 李超 阮娜 陈雨亭 编著
参考读物推荐
作者: 张志强 赵越 等编著
作者: [美] 莱斯利·兰伯特(Leslie Lamport) 著