Android编程实战

0
(0)

Android编程实战

作者:[阿根廷]赫尔曼

出版社:人民邮电出版社

原作名:AndroidProgramming:PushingtheLimits

译者:丁志虎/武海峰

出版年:2014-6-1

页数:348

定价:CNY69.00

装帧:平装

丛书:图灵程序设计丛书·移动开发系列

ISBN:9787115357335

内容简介
······

你是否从事Android操作系统开发,会创建简单的Android应用,但想进一步提升自己的开发技巧?你是否想深入挖掘Android操作系统的特性与功能,挑战现有开发水准?你是否正在想方设法创建高级、直观、创新的Android应用?毫无疑问,这本书适合你。

本书从自定义视图、多点触摸手势讲起,到集成在线Web服务,进一步扩展到探索地理围栏和活动识别等新技术。作为一名经验丰富的Android工程师,Erik Hellman通过本书深入剖析了一些专业技巧、诀窍、容易绊倒开发者的陷阱,以及一些鲜为人知的技术:

优化组件,以实现尽可能流畅的用户体验

创建自定义视图

全面理解Android SDK

掌握Android Studio和Gradle

使用Android音频、视频和图形API

文本转语音以及语音识别项目

充分利用新的Android位置API

使用Android连接技术与远程设备通信

执行后台处理

使用Android加密API

找到并安全使用隐藏API

使用Google Play Service为应用启用云计算

在Google Play Store中发布和销售应用

作者简介
······

作者简介:

Erik Hellman

Factor10咨询公司资深移动开发顾问,曾任索尼公司Android团队首席架构师,主导Xperia系列产品开发;精通移动应用、Web技术、云计算和三维图形,定期在DroidCon、JFokus、JavaOne和其他专业开发人员大会上发表演讲。关于Erik的更多信息,可访问他的博客http://blog.hellsoft.se。

译者简介:

丁志虎

美团移动Android工程师。主要关注Android应用开发的各种技术,爱运动,爱coding,热衷于开源社区。

武海峰

美团移动应用和服务Gatekeeper。主要关注移动互联网应用和安全,热衷于开源软件和GNU/Linux。目前正在组建一支全栈QA团队。

目录
······

第一部分 构建更好的基础

第1章 完善开发环境  2

1.1  可供选择的操作系统  2

1.2  Android SDK进阶  2

1.2.1  adb工具  3

1.2.2  用Monkey对应用UI做压力测试  5

1.2.3  在Android上使用Gradle构建系统  6

1.2.4  用ProGuard优化和混淆代码  9

1.3  Android库项目以及第三方库  9

1.3.1  使用JAR库  9

1.3.2  创建库项目  10

1.4  版本控制和源代码管理  11

1.5  熟练使用IDE  13

1.5.1  调试Android应用  14

1.5.2  使用lint做静态代码分析  15

1.5.3  重构代码  18

1.6  Android设备上的Developer选项  20

1.7  小结  22

1.8  延伸阅读  22

第2章 在Android上编写高效的Java代码  23

2.1  比较Android上的Dalvik Java和

Java SE  23

2.2  优化Android上的Java代码  25

2.2.1  Android上的类型安全枚举  26

2.2.2  Android中增强版的for循环  27

2.2.3  队列、同步和锁  28

2.3  管理和分配内存  30

2.4  Android中的多线程  33

2.4.1  Thread类  34

2.4.2  AsyncTask  35

2.4.3  Handler类  36

2.4.4  选择合适的线程  41

2.5  小结  41

2.6  延伸阅读  42

第二部分 充分利用组件

第3章 组件、清单及资源  44

3.1  Android组件  44

3.1.1  Activity  44

3.1.2  Service  45

3.1.3  BroadcastReceiver  45

3.1.4  ContentProvider  46

3.1.5  Application  46

3.1.6  应用架构  48

3.2  应用程序清单  49

3.2.1  manifest元素  49

3.2.2  Google Play过滤器和权限  50

3.2.3  application节点元素  51

3.2.4  组件元素和属性  52

3.2.5  Intent过滤  53

3.3  resources和assets  55

3.3.1  高级string资源  55

3.3.2  本地化  57

3.3.3  使用资源限定符  58

3.3.4  使用assets  59

3.4  小结  59

3.5  延伸阅读  60

第4章 Android用户体验和界面设计  61

4.1  用户故事  61

4.2  Android UI设计  62

4.2.1  导航  63

4.2.2  用户界面原型  63

4.3  Android用户界面元素  64

4.4  Android应用程序文本  65

4.4.1  字体  65

4.4.2  文本布局  65

4.5  尺寸和大小  66

4.5.1  推荐尺寸  66

4.5.2  图标大小  67

4.5.3  字体大小  67

4.6  颜色  68

4.7  图像和图标  69

4.7.1  典型透视  69

4.7.2  几何离子  70

4.7.3  人脸识别  70

4.8  可用性  71

4.9  用户奖励机制  71

4.10  小结  73

4.11  延伸阅读  73

第5章 Android用户界面操作  75

5.1  Activity和Fragment  75

5.2  使用多个屏幕  77

5.3  设计自定义视图  79

5.3.1  View的生命周期  79

5.3.2  钢琴键盘部件  80

5.4  多点触控  85

5.4.1  PointerCoordinates  87

5.4.2  旋转手势  87

5.5  OpenGL ES  89

5.6  小结  90

5.7  延伸阅读  90

第6章 Service和后台任务  91

6.1  何时以及如何使用Service  91

6.2  理解Service生命周期  92

6.2.1  Service的创建和销毁  92

6.2.2  启动Service  92

6.2.3  绑定Service  94

6.2.4  保持活跃  96

6.2.5  停止Service  97

6.3  在后台运行  99

6.3.1  IntentService  99

6.3.2  并行执行  100

6.4  和Service通信  103

6.4.1  使用Intent进行异步消息传递  103

6.4.2  本地绑定的Servcie  104

6.5  小结  107

6.6  延伸阅读  108

第7章 Android IPC  109

7.1  Binder简介  109

7.1.1  Binder地址  110

7.1.2  Binder事务  111

7.1.3  Parcel  112

7.1.4  link to death  114

7.2  设计API  114

7.2.1  AIDL  115

7.2.2  Messenger  119

7.2.3  使用库工程包装API  122

7.3  保护远程API  125

7.4  小结  126

7.5  延伸阅读  126

第8章 掌握BroadcastReceiver以及配置更改  127

8.1  BroadcastReceiver  128

8.1.1  本地BroadcastReceiver  129

8.1.2  普通广播和有序广播  130

8.1.3  粘性广播  132

8.1.4  定向广播  132

8.1.5  启用和禁用广播接收器  133

8.1.6  系统广播Intent  133

8.2  设备配置更改  137

8.3  小结  137

8.4  延伸阅读  138

第9章 数据存储和序列化技术  139

9.1  Android持久化选项  139

9.2  在偏好文件中存储数据  140

9.3  用户选项和设置用户界面  142

9.4  高性能ContentProvider  144

9.4.1  Android数据库设计  144

9.4.2  创建和升级数据库  145

9.4.3  实现查询方法  147

9.4.4  数据库事务  149

9.4.5  在ContentProvider中存储二进制数据  150

9.5  序列化数据  152

9.5.1  JSON  152

9.5.2  使用Gson进行高级JSON处理  154

9.5.3  Google Protocol Buffer  156

9.6  应用数据备份  159

9.7  小结  160

9.8  延伸阅读  160

第10章 编写自动化测试  162

10.1  Android测试原则  162

10.1.1  测试内容  163

10.1.2  基本的单元测试  163

10.1.3  测试Activity  165

10.1.4  测试Service  167

10.1.5  测试ContentProvider  168

10.1.6  运行测试  171

10.2  持续集成  172

10.3  小结  173

10.4  延伸阅读  173

第三部分 超越极限

第11章 高级音频、视频及相机应用  176

11.1  高级音频应用  176

11.1.1  低延迟音频  176

11.1.2  OpenSL ES  179

11.1.3  文字转语音  183

11.1.4  语音识别  184

11.2  使用OpenGL ES 2.0处理视频  186

11.3  使用OpenGL ES 2.0处理相机  190

11.4  多媒体编码  192

11.5  小结  196

11.6  延伸阅读  196

第12章 Android应用安全问题  197

12.1  Android安全的概念  197

12.1.1  签名和密钥  197

12.1.2  Android权限  198

12.1.3  保护用户数据  199

12.1.4  验证调用应用  200

12.2  客户端数据加密  201

12.2.1  Android的加密API  201

12.2.2  生成密钥  201

12.2.3  加密数据  202

12.2.4  解密数据  202

12.2.5  处理加密数据  203

12.3  Android的钥匙链管理  204

12.4  设备管理API  208

12.5  小结  211

12.6  扩展阅读  212

第13章 地图、位置和活动API  213

13.1  融合位置管理器  213

13.2  集成Google Maps v2  214

13.3  使用Google Maps  216

13.3.1  地图标记  217

13.3.2  绘制圆形区域  218

13.3.3  绘制多边形  219

13.3.4  有用的位置API工具  220

13.3.5  地理编码  221

13.4  使用LocationClient  222

13.5  地理围栏  223

13.6  活动识别  225

13.7  小结  227

13.8  延伸阅读  228

第14章 本地代码和JNI  229

14.1  关于CPU体系结构  229

14.2  用C语言编写Android应用程序  230

14.2.1  Android NDK编译脚本  230

14.2.2  本地Activity  231

14.3  使用JNI  232

14.3.1  从Java调用本地函数  232

14.3.2  从本地调用Java方法  235

14.4  Android本地API  238

14.4.1  C语言库  238

14.4.2  本地Android日志  238

14.4.3  本地OpenGL ES 2.0  238

14.4.4  OpenSL ES中的本地音频  239

14.5  移植本地库到Android  239

14.6  小结  245

14.7  延伸阅读  245

第15章 隐藏的Android API  246

15.1  官方API和隐藏API  246

15.2  发现隐藏API  247

15.3  安全地调用隐藏API  249

15.3.1  从设备中提取隐藏API  249

15.3.2  使用反射调用隐藏API  252

15.4  隐藏API示例  252

15.4.1  接收和阅读SMS  252

15.4.2  Wi-Fi网络共享  254

15.4.3  隐藏设置  255

15.5  小结  256

15.6  延伸阅读  256

第16章 深入研究Android平台  257

16.1  解锁设备  258

16.1.1  刷新出厂映像  259

16.1.2  解锁非Nexus设备  259

16.1.3  社区支持的固件  260

16.2  Android源码  260

16.2.1  设置构建环境  260

16.2.2  构建并刷新固件  261

16.3  编写系统应用  262

16.3.1  平台证书  262

16.3.2  编写签名的应用  263

16.4  探索Android平台  265

16.4.1  设置IDE  265

16.4.2  Android项目  265

16.4.3  Android Linux Kernel  267

16.4.4  添加系统服务  267

16.4.5  加快平台开发周期  270

16.5  为AOSP贡献代码  271

16.6  小结  273

16.7  延伸阅读  273

第17章 网络、Web服务和远程API  274

17.1  Android上的网络调用  274

17.1.1  HttpUrlConnection  275

17.1.2  Volley  278

17.1.3  OkHttp和SPDY  280

17.1.4  Web Socket  281

17.2  集成Web服务  285

17.2.1  Google Static Maps v2  285

17.2.2  使用OAuth2访问Foursquare API  286

17.2.3  在Android中使用Facebook SDK  290

17.2.4  寻找在线Web服务和API  294

17.3  网络和功耗  294

17.3.1  一般准则  295

17.3.2  高效的网络轮询  296

17.3.3  服务器端推送  297

17.4  小结  299

17.5  延伸阅读  299

第18章 与远程设备通信  300

18.1  Android中的连接技术  300

18.2  Android USB  301

18.3  蓝牙低功耗  303

18.4  Android Wi-Fi  306

18.4.1  服务发现  306

18.4.2  Wi-Fi Direct  308

18.5  设备上的Web服务  311

18.5.1  使用Restlet创建RESTful API  311

18.5.2  Web Socket服务器  315

18.6  小结  317

18.7  延伸阅读  317

第19章 Google Play Service  318

19.1  授权  318

19.2  Google Drive应用程序数据  321

19.3  Google Cloud Endpoint  324

19.4  谷歌云消息  327

19.5  Google Play Game Service  331

19.5.1  数据消息  333

19.5.2  消息策略  334

19.6  小结  335

19.7  延伸阅读  336

第20章 在Google Play Store发布应用  337

20.1  应用内付费  338

20.1.1  消费产品  340

20.1.2  应用内订阅  340

20.2  在应用内添加广告  341

20.2.1  定位广告  342

20.2.2  广告颜色  343

20.2.3  插播式广告  343

20.3  应用程序许可  344

20.4  APK扩展文件  345

20.4.1  创建扩展文件  346

20.4.2  下载扩展文件  346

20.5  小结  348

20.6  延伸阅读  348

"Android编程实战"试读
······

开发者选择的工具取决于具体的开发项目。编写一个HTML5应用程序和用Java开发一个服务器端应用对开发环境的要求是不同的。有些平台提供了更多的选择,就像本章接下来描述的,开发Android应用程序可以选择多种Android开发环境。
本章首先会介绍Android SDK的一些高级特性,如何在日常开发中使用它们,以及它们是如何帮助开发者编写高质量的应用程序的。接下来会介绍如何用第三方库来组织项…

  • 第一章:完善开发环境

评论 ······

还没读完先上评价。绝对的好书,适合我这种看了敲了许多初级代码,迷迷糊糊的已入门者。

只是罗列了Android编程技术的各项概念性知识,讲解比较笼统,不适合初学者。

适合刚刚入门的Android开发人员,有一定的基础但是没有一个系统的思想和开发方法流程的人去看,确实是一本非常好的图书

必须承认,这本书是android提高道路上一大推手,我才读到第七章,感觉每一章节都很好看,很多用过但是不知道的知识讲的不算细致,但是google一下几乎都能找到,算是我看到android书中维数不多的好书,非常推荐。

点击星号评分!

平均分 0 / 5. 投票数: 0

还没有投票!请为他投一票。

推荐阅读

评论 抢沙发

评论前必须登录!

 

登录

找回密码

注册