精通Android 3

0
(0)

精通Android 3

作者:[印]SatyaKomatineni

出版社:人民邮电出版社

原作名:ProAndroid3

译者:杨越

出版年:2011-11

页数:907

定价:128.00元

装帧:平装

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

ISBN:9787115266026

内容简介
······

《精通Android 3》在上一版的基础上进行了全面改进,增加了Android内部构件的相关知识,介绍了线程、进程、长期运行的服务、广播接收程序和闹钟管理器。本版还介绍了更多UI控件,并用150多页的篇幅专门介绍了Android3.0版,包括碎片、碎片对话框、ActionBar和拖放。此外,《精通Android 3》对服务和传感器的相关章节做了大幅改进,还对介绍OpenGL的章节做了修订,涵盖了OpenGLES2.0。.《精通Android 3》囊括了Android开发人员所需的一切知识,既可为Android开发人员夯实基础,又能提高Android开发人员的技能。

点击链接进入新版: 精通Android(新版)

作者简介
······

Satya Komatineni:

印 度理工大学电子工程专业硕士。有20多年的程序设计经验,开发过用于Java Web开发的简单开源工具AspireWeb(www.activeintellect.com/aspire)以及开源个人Web 操作系统——Aspire Knowledge Central(www.knowledgefolders.com)。擅长使用Java、.NET和数据库技术进行Web开发,发表过30多篇这方面的 文章。他经常在创新技术相关的行业大会上发言,并为java.net上的网络博客撰稿。

Dave MacLean:

加拿大滑铁卢 大学系统设计工程专业学士。早在1980年就从事软件开发工作,使用过多种语言进行编程,曾开发机器人自动化、数据仓库、Web自助服务应用程序、EDI 事务处理器等系统。Dave曾在Sun、IBM、Trimble Navigation、通用汽车等公司工作。

Sayed Y. Hashimi:

美 国佛罗里达大学工程学硕士。具有医疗、金融、物流和面向服务的架构等多个领域的软件开发经验,使用各种编程语言和平台(包括C/C++、MFC、J2EE 和.NET)开发过大规模的分布式应用程序。他在重要软件杂志上发表过许多文章,还在Apress出版了其他广受欢迎的图书。个人主页为 www.sayedhashimi.com。

目录
······

第1 章 Android计算平台简介  1

1.1 面向新PC 的全新平台  1

1.2 Android 的历史  3

1.3 Dalvik VM 剖析  4

1.4 理解Android 软件栈  5

1.5 使用Android SDK 开发最终用户应用程序  6

1.5.1 Android 模拟器  6

1.5.2 Android UI  7

1.5.3 Android 基础组件  7

1.5.4 高级UI 概念  8

1.5.5 Android Service 组件   10

1.5.6 Android 媒体和电话组件   10

1.5.7 Android Java 包  11

1.6 利用Android 源代码  13

1.7 本书的示例项目  14

1.8 小结  15

第2 章 设置开发环境  16

2.1 设置环境  16

2.1.1 下载JDK 6   16

2.1.2 下载Eclipse 3.6  17

2.1.3 下载Android SDK   18

2.1.4 命令行窗口  19

2.1.5 安装ADT   19

2.2 了解基本组件  21

2.2.1 View  21

2.2.2 Activity  21

2.2.3 Intent  22

2.2.4 ContentProvider  22

2.2.5 Service  22

2.2.6 AndroidManifest.xml   22

2.2.7 AVD   22

2.3 Hello World!  23

2.4 AVD   27

2.5 剖析Android 应用程序的结构   28

2.6 分析Notepad 应用程序   30

2.6.1 加载和运行Notepad 应用程序  30

2.6.2 分解应用程序  31

2.7 了解应用程序生命周期  37

2.8 调试应用程序  40

2.8.1 启动模拟器   41

2.8.2 StrictMode   42

2.8.3 参考资料   46

2.9 小结   46

第3 章 使用Android 资源   47

3.1 资源  47

3.1.1 字符串资源   47

3.1.2 布局资源  49

3.1.3 资源引用语法  51

3.1.4 定义资源ID 供以后使用   52

3.1.5 已编译和未编译的Android资源   52

3.2 Android 关键资源  53

3.3 使用任意XML 资源文件   61

3.4 使用原始资源  62

3.5 使用资产   63

3.6 了解资源目录结构  63

3.7 资源和配置更改  64

3.8 参考资料URL  67

3.9 小结   67

第4 章 ContentProvider   68

4.1 探索Android 内置的ContentProvider   69

4.2 ContentProvider 的架构  73

4.3 实现ContentProvider  84

4.4 练习图书提供程序  94

4.4.1 添加图书  94

4.4.2 删除图书  94

4.4.3 获取图书数量  95

4.4.4 显示图书列表  95

4.5 资源  96

4.6 小结  96

第5 章 Intent  97

5.1 Android Intent 基础知识  97

5.2 Android 中可用的Intent   98

5.3 Intent 的组成  100

5.3.1 Intent 和数据URI  100

5.3.2 一般操作  101

5.3.3 使用extra 信息  102

5.3.4 使用组件直接调用活动  103

5.3.5 Intent 类别  104

5.3.6 将Intent 解析为组件的规则  106

5.4 练习使用ACTION_PICK  108

5.5 练习使用GET_CONTENT 操作  110

5.6 挂起的Intent  111

5.7 资源  112

5.8 小结  113

第6 章 构建用户界面和使用控件   114

6.1 Android 中的UI 开发  114

6.1.1 完全利用代码来构建UI  115

6.1.2 完全使用XML 构建UI  117

6.1.3 使用XML 结合代码构建UI   118

6.2 Android 中的常见控件  120

6.2.1 文本控件  120

6.2.2 按钮控件  123

6.2.3 ImageView 控件  131

6.2.4 日期和时间控件  132

6.2.5 MapView 控件  134

6.3 适配器  134

6.3.1 SimpleCursorAdapter  135

6.3.2 了解ArrayAdapter   136

6.4 结合使用适配器和AdapterView   138

6.4.1 基本的列表控件:ListView   138

6.4.2 GridView 控件  145

6.4.3 Spinner 控件  146

6.4.4 Gallery 控件  148

6.4.5 创建自定义适配器  148

6.4.6 Android 中的其他控件  153

6.5 样式和主题  154

6.5.1 使用样式  154

6.5.2 使用主题  156

6.6 布局管理器  157

6.6.1 LinearLayout 布局管理器  157

6.6.2 TableLayout 布局管理器  160

6.6.3 RelativeLayout 布局管理器  163

6.6.4 FrameLayout 布局管理器  165

6.6.5 为各种设备配置自定义布局  167

6.7 使用Hierarchy Viewer 调试和优化布局  168

6.8 参考资料  171

6.9 小结  171

第7 章 使用菜单  172

7.1 Android 菜单  172

7.1.1 创建菜单  173

7.1.2 使用菜单组  174

7.2 响应菜单项  175

7.3 创建测试工具来测试菜单  176

7.4 使用其他菜单类型  182

7.4.1 展开的菜单  182

7.4.2 使用图标菜单  182

7.4.3 使用子菜单  183

7.4.4 配置系统菜单  183

7.4.5 使用上下文菜单  184

7.4.6 使用交替菜单  186

7.4.7 使用菜单响应数据变化  189

7.5 通过XML 文件加载菜单  189

7.5.1 XML 菜单资源文件的结构  189

7.5.2 填充XML 菜单资源文件  190

7.5.3 响应基于XML 的菜单项  190

7.5.4 其他XML 菜单标记简介  191

7.6 资源  192

7.7 小结  192

第8 章 使用对话框  193

8.1 使用Android 中的对话框  193

8.1.1 设计提醒对话框  193

8.1.2 设计提示对话框  195

8.1.3 Android 对话框的特性  199

8.1.4 重新设计提示对话框  200

8.2 使用托管对话框  200

8.2.1 理解托管对话框协议  201

8.2.2 将非托管对话框重新转换为托管对话框  201

8.2.3 简化托管对话框协议  202

8.3 使用Toast   209

8.4 资源  210

8.5 小结  210

第9 章 管理和组织首选项  211

9.1 探索首选项框架  211

9.1.1 ListPreference  211

9.1.2 CheckBoxPreference  219

9.1.3 EditTextPreference  220

9.1.4 RingtonePreference  222

9.2 组织首选项  223

9.3 以编程方式操作首选项  226

9.4 使用首选项保存状态  226

9.5 参考资料  227

9.6 小结  228

第10 章 探索安全性和权限  229

10.1 理解Android 安全性模型  229

10.1.1 安全性概念概述  229

10.1.2 为部署签名应用程序  230

10.2 执行运行时安全性检查  234

10.2.1 进程边界上的安全性  235

10.2.2 声明和使用权限  235

10.2.3 理解和使用自定义权限  237

10.2.4 理解和使用URI 权限  241

10.3 参考资料   243

10.4 小结  243

第11 章 构建和使用服务  244

11.1 使用HTTP 服务   244

11.1.1 将HttpClient 用于HTTPGET 请求  244

11.1.2 将HttpClient 用于HTTPPOST 请求(多部分POST

请求示例)   246

11.1.3 SOAP、JSON 和XML分析程序  248

11.1.4 处理异常   249

11.1.5 解决多线程问题  251

11.1.6 有趣的超时  253

11.1.7 使用HttpURLConnection    254

11.1.8 使用AndroidHttpClient    254

11.1.9 使用后台线程(AsyncTask)    255

11.1.10 使用AsyncTask 处理配置更改   260

11.1.11 使用DownloadManager获取文件   265

11.2 使用Android 服务   270

11.2.1 Android 中的服务   270

11.2.2 本地服务   271

11.2.3 AIDL 服务   277

11.2.4 在AIDL 中定义服务接口   278

11.2.5 实现AIDL 接口  280

11.2.6 从客户端应用程序调用服务   282

11.2.7 向服务传递复杂的类型  285

11.3 使用服务的真实示例   294

11.3.1 Google 翻译API   294

11.3.2 使用Google 翻译API    295

11.4 参考资料  303

11.5 小结  303

第12 章 包  304

12.1 包和进程  304

12.1.1 包规范的细节   304

12.1.2 将包名称转换为进程名称  304

12.1.3 列出安装的包  305

12.1.4 通过包浏览器删除包  305

12.2 包签名过程回顾  306

12.2.1 理解数字签名:场景1   306

12.2.2 理解数字签名:场景2   306

12.2.3 一种理解数字签名的模式  307

12.2.4 数字签名执行方式  307

12.2.5 签名过程的影响  307

12.3 在包之间共享数据  308

12.3.1 共享用户ID 的性质  308

12.3.2 共享数据的代码模式  309

12.4 库项目  309

12.4.1 库项目的概念  310

12.4.2 库项目的性质  310

12.4.3 创建库项目  312

12.4.4 创建使用库的Android项目  314

12.5 参考资料  320

12.6 小结  320

第13 章 处理程序   321

13.1 Android 组件和线程  321

13.1.1 活动在主线程上运行  322

13.1.2 广播接收程序在主线程上运行  322

13.1.3 服务在主线程上运行  322

13.1.4 ContentProvider 在主线程上运行  322

13.1.5 单一主线程的影响  323

13.1.6 线程池、ContentProvider、外部服务组件  323

13.1.7 线程实用程序:发现线程  323

13.2 处理程序  324

13.2.1 持有主线程的影响  325

13.2.2 使用处理程序延迟主线程上的工作  325

13.2.3 延迟工作的处理程序源代码示例  327

13.2.4 构造合适的Message 对象  327

13.2.5 将Message 对象发送给队列  328

13.2.6 响应handleMessage 回调  328

13.3 使用工作线程  328

13.3.1 从菜单调用工作线程  329

13.3.2 在工作线程与主线程之间通信  330

13.3.3 线程行为概述  332

13.4 处理程序示例驱动程序类  332

13.4.1 驱动程序活动文件  333

13.4.2 布局文件  336

13.4.3 菜单文件  336

13.4.4 描述文件  336

13.5 组件和进程寿命  337

13.5.1 活动生命周期  337

13.5.2 服务生命周期  338

13.5.3 接收程序生命周期  338

13.5.4 提供程序生命周期  339

13.6 代码编译说明  339

13.6.1 从ZIP 文件创建项目  339

13.6.2 从代码清单创建项目  340

13.7 参考资料  340

13.8 小结  341

第14 章 广播接收程序和长期运行的服务  342

14.1 广播接收程序  342

14.1.1 发送广播  342

14.1.2 编写简单的接收程序:示例代码  343

14.1.3 在描述文件中注册接收程序  344

14.1.4 发送测试广播  344

14.1.5 容纳多个接收程序  348

14.1.6 进程外接收程序项目  349

14.2 从接收程序使用通知  350

14.2.1 通过通知管理器监控通知  350

14.2.2 发送通知  352

14.3 长期运行的接收程序和服务  354

14.3.1 长期运行的广播接收程序协议  355

14.3.2 IntentService   356

14.3.3 IntentService 源代码  356

14.4 为广播接收程序扩展IntentService  358

14.4.1 长期运行的广播服务抽象  358

14.4.2 长期运行的接收程序  360

14.4.3 使用LightedGreenRoom抽象唤醒锁  362

14.5 长期运行的服务的实现  367

14.5.1 非粘滞性服务的细节  368

14.5.2 粘滞性服务的细节  368

14.5.3 非粘滞性的变体:重传送(redeliver)Intent

368

14.5.4 在onStartCommand 中指定服务标志  369

14.5.5 挑选合适的粘滞性  369

14.5.6 从两个位置控制唤醒锁  369

14.5.7 长期运行的服务的实现  369

14.5.8 测试长期运行的服务  371

14.6 代码编译说明  372

14.6.1 从ZIP 文件创建项目  372

14.6.2 通过代码清单创建项目  372

14.7 参考资料  374

14.8 小结  374

第15 章 闹钟管理器  375

15.1 闹钟管理器基本知识:设置一个简单的闹钟  375

15.1.1 获取闹钟管理器  375

15.1.2 设置闹钟时间  375

15.1.3 设置闹钟接收程序  376

15.1.4 创建适合闹钟的PendingIntent   377

15.1.5 设置闹钟  377

15.1.6 测试项目  378

15.2 探索其他闹钟管理器场景  384

15.2.1 设置重复闹钟  384

15.2.2 取消闹钟  386

15.2.3 使用多个闹钟  388

15.2.4 Intent 在设置闹钟时的首要职责  391

15.2.5 闹钟的持久化   394

15.3 闹钟管理器事实   394

15.4 参考资料   394

15.5 小结   395

第16 章 2D 动画揭秘  396

16.1 逐帧动画   396

16.1.1 计划逐帧动画   396

16.1.2 创建活动  398

16.1.3 将动画添加到活动   399

16.2 布局动画   401

16.2.1 基本的补间动画类型   402

16.2.2 计划布局动画测试工具   402

16.2.3 创建活动和ListView   403

16.2.4 将ListView 制作成动画  405

16.2.5 使用插值器   408

16.3 视图动画   409

16.3.1 理解视图动画   409

16.3.2 添加动画   412

16.3.3 使用Camera 实现2D 图像的深度效果   415

16.3.4 探索AnimationListener类   416

16.3.5 关于变换矩阵的一些说明   416

16.4 资源   417

16.5 小结   418

第17 章 地图和基于位置的服务  419

17.1 地图包  419

17.1.1 从Google 获取map-api密钥   419

17.1.2 MapView 和MapActivity    421

17.1.3 使用覆盖图添加标记   426

17.2 位置包  431

17.2.1 使用Android 进行地理编码  431

17.2.2 使用后台线程进行地理编码   434

17.2.3 LocationManager 服务   437

17.2.4 使用MyLocationOverlay显示位置   443

17.2.5 使用接近提醒  447

17.3 参考资料  451

17.4 小结  451

第18 章 电话API    452

18.1 使用SMS  452

18.1.1 发送SMS 消息  452

18.1.2 监视传入的SMS 消息  455

18.1.3 使用SMS 文件夹  457

18.1.4 发送电子邮件  459

18.2 使用电话管理器  459

18.3 SIP   462

18.4 参考资料  464

18.5 小结  464

第19 章 媒体框架   465

19.1 使用媒体API  465

19.2 播放媒体  468

19.2.1 播放音频内容  469

19.2.2 播放视频内容  478

19.3 录制媒体  481

19.3.1 使用MediaRecorder 录制音频  481

19.3.2 使用AudioRecord 录制音频  485

19.3.3 视频录制  489

19.3.4 MediaStore 类  497

19.3.5 使用Intnet 录制音频  498

19.3.6 将媒体内容添加到媒体存储  501

19.3.7 为整个SD 卡触发MediaScanner   503

19.3.8 参考资料  503

19.4 小结  503

第20 章 使用OpenGL 进行3D 图形编程   504

20.1 了解OpenGL 的历史和背景  505

20.1.1 OpenGL ES   505

20.1.2 OpenGL ES 与Java ME  506

20.1.3 M3G:另一种Java ME 3D图形标准  506

20.2 OpenGL 的基本原理  507

20.2.1 使用OpenGL ES 进行基本绘制  507

20.2.2 OpenGL 照相机和坐标  512

20.3 在Android 中使用OpenGL ES  515

20.3.1 使用GLSurfaceView 和相关类  515

20.3.2 实现Renderer  515

20.3.3 通过Activity 使用GLSurfaceView   518

20.3.4 更改照相机设置  523

20.3.5 使用索引添加另一个三角形  524

20.3.6 为简单的OpenGL 三角形制作动画  526

20.4 OpenGL 的运用:形状和纹理  528

20.4.1 绘制矩形  528

20.4.2 使用形状  530

20.4.3 使用纹理  541

20.4.4 绘制多个图形  546

20.5 OpenGL ES 2.0   548

20.5.1 针对OpenGL ES 2.0 的Java 绑定  549

20.5.2 呈现步骤  552

20.5.3 着色器  552

20.5.4 将着色器编译到程序中  553

20.5.5 访问着色器程序变量  555

20.5.6 简单的ES 2.0 三角形  555

20.5.7 关于OpenGL ES 2.0 的更多阅读材料  558

20.6 代码编译说明  559

20.7 小结  560

第21 章 活动文件夹   561

21.1 探索活动文件夹  561

21.1.1 用户如何使用活动文件夹  562

21.1.2 构建活动文件夹  565

21.2 代码编译说明  573

21.3 参考资料  573

21.4 小结  573

第22 章 主屏幕部件  575

22.1 主屏幕部件的架构  575

22.1.1 什么是主屏幕部件  575

22.1.2 主屏幕部件的用户体验  576

22.1.3 部件的生命周期  578

22.2 示例部件应用程序  582

22.2.1 定义部件提供程序  583

22.2.2 定义部件尺寸  584

22.2.3 与部件布局相关的文件  586

22.2.4 实现部件提供程序  586

22.2.5 实现部件模型  589

22.2.6 实现部件配置活动  595

22.3 部件局限性和扩展  598

22.4 资源  599

22.5 小结  599

第23 章 Android 搜索  600

23.1 Android 搜索体验  600

23.1.1 探索Android 全局搜索  601

23.1.2 为全局搜索启用建议提供程序  606

23.2 活动与搜索键交互  608

23.2.1 常规活动上的搜索键行为  609

23.2.2 禁用了搜索的活动的行为  615

23.2.3 通过菜单显式调用搜索  617

23.2.4 本地搜索和相关活动  620

23.2.5 启用键入搜索  625

23.3 实现简单建议提供程序  626

23.3.1 计划简单建议提供程序  626

23.3.2 简单建议提供程序实现文件  626

23.3.3 实现SimpleSuggestion-Provider 类  627

23.3.4 简单建议提供程序搜索活动  630

23.3.5 搜索调用方活动  634

23.3.6 简单建议提供程序用户体验  636

23.4 实现自定义建议提供程序  638

23.4.1 计划自定义建议提供程序  638

23.4.2 SuggestURLProvider 项目实现文件   639

23.4.3 实现SuggestUrlProvider类   639

23.4.4 实现自定义建议提供程序的搜索活动   647

23.4.5 自定义建议提供程序描述文件   652

23.4.6 自定义建议用户体验   653

23.5 使用操作键和应用程序特有的搜索数据   655

23.5.1 在Android 搜索中使用操作键   655

23.5.2 使用应用程序特定的搜索上下文   658

23.6 资源   659

23.7 对平板电脑的意义   659

23.8 小结   660

第24 章 文本到语音转换  661

24.1 Android 中的文本到语音转换   661

24.2 使用语段跟踪语音   665

24.3 使用音频文件代替话音   666

24.4 TTS 引擎的高级功能   672

24.4.1 设置音频流   673

24.4.2 使用耳标   673

24.4.3 播放静音   674

24.4.4 选择不同的文本到语音转换引擎   674

24.4.5 使用语言方法   674

24.5 参考资料   675

24.6 小结   676

第25 章 触摸屏  677

25.1 MotionEvent   677

25.1.1 MotionEvent 对象   677

25.1.2 回收MotionEvent    687

25.1.3 使用VelocityTracker    687

25.1.4 探索拖放操作  689

25.2 多点触摸  692

25.2.1 Android2.2 之前的多点触摸  692

25.2.2 自Android 2.2 开始的多点触摸  699

25.3 触摸地图  699

25.4 手势  702

25.4.1 捏合手势  702

25.4.2 GestureDetector 和OnGestureListener   705

25.4.3 自定义手势  707

25.4.4 Gestures Builder 应用程序  708

25.5 参考资料  713

25.6 小结  714

第26 章 传感器   715

26.1 什么是传感器  715

26.1.1 检测传感器  716

26.1.2 可以了解的传感器信息  716

26.2 获取传感器事件  718

26.3 解释传感器数据  727

26.3.1 光线传感器  727

26.3.2 接近传感器  727

26.3.3 温度传感器  727

26.3.4 压力传感器  728

26.3.5 陀螺仪传感器  728

26.3.6 加速度计  728

26.3.7 磁场传感器  733

26.3.8 结合使用加速度计和磁场传感器  734

26.3.9 方向传感器  734

26.3.10 磁偏角和GeomagneticField   740

26.3.11 重力传感器  740

26.3.12 直线加速度传感器  740

26.3.13 旋转矢量传感器  740

26.3.14 近场通信传感器  741

26.4 参考资料  749

26.5 小结  749

第27 章 联系人API    750

27.1 账户  750

27.1.1 账户屏幕概览  750

27.1.2 账户与联系人的相关性  754

27.1.3 枚举账户  754

27.2 联系人应用程序  754

27.2.1 显示联系人  755

27.2.2 显示联系人详细信息  755

27.2.3 编辑联系人详细信息  756

27.2.4 设置联系人的照片  758

27.2.5 导出联系人  758

27.2.6 各种联系人数据类型  759

27.3 联系人  760

27.3.1 内容SQLite 数据库  760

27.3.2 原始联系人  761

27.3.3 数据表  762

27.3.4 聚合联系人  763

27.3.5 view_contacts   765

27.3.6 contact_entities_view   765

27.4 联系人API   766

27.4.1 浏览账户  766

27.4.2 浏览聚合联系人  773

27.4.3 浏览原始联系人  781

27.4.4 浏览原始联系人数据  785

27.4.5 添加联系人和它的详细信息  788

27.5 控制聚合  790

27.6 同步的影响  791

27.7 参考资料  792

27.8 小结  792

第28 章 使用Android Market   793

28.1 成为发布者  793

28.1.1 遵守规则  794

28.1.2 开发人员控制台  795

28.2 准备销售应用程序  798

28.2.1 针对不同设备进行测试  798

28.2.2 支持不同的屏幕尺寸  798

28.2.3 准备上传AndroidManifest.xml   799

28.2.4 本地化应用程序  800

28.2.5 准备应用程序图标  800

28.2.6 付费应用程序考虑因素  801

28.2.7 将用户引导至Market   801

28.2.8 Android 授权服务  802

28.2.9 准备上传.apk 文件  802

28.3 上传应用程序  803

28.4 Android Market 上的用户体验  805

28.5 更多发布途径  806

28.6 参考资料  807

28.7 小结  807

第29 章 多用途的碎片  808

29.1 什么是碎片  808

29.1.1 何时使用碎片  809

29.1.2 碎片的结构  809

29.1.3 碎片的生命周期  810

29.1.4 展示生命周期的示例碎片应用程序  814

29.2 FragmentTransactions 和碎片后退栈  821

29.3 FragmentManager  823

29.3.1 引用碎片时的注意事项  824

29.3.2 ListFragments 和<fragment>   824

29.3.3 在需要时调用独立的活动  828

29.3.4 碎片的持久化  830

29.4 对话框碎片  831

29.4.1 DialogFragment 基础知识  831

29.4.2 DialogFragments 示例应用程序  835

29.5 碎片之间的更多通信方式  846

29.6 使用ObjectAnimator 自定义动画  847

29.7 参考资料  849

29.8 小结  850

第30 章 ActionBar   851

30.1 ActionBar 剖析  851

30.2 选项卡导航操作栏活动  852

30.2.1 实现基础活动类   853

30.2.2 为ActionBar 分配统一的行为  855

30.2.3 实现选项卡监听器   857

30.2.4 实现选项卡操作栏活动  858

30.2.5 可滚动的调试文本视图布局   860

30.2.6 操作栏和菜单交互   861

30.2.7 Android 描述文件   863

30.2.8 测试选项卡操作栏活动   863

30.3 列表导航操作栏活动  864

30.3.1 创建SpinnerAdapter   864

30.3.2 创建列表监听器  865

30.3.3 设置列表操作栏  865

30.3.4 更改BaseActionBar-Activity   866

30.3.5 更改AndroidManifest.xml    866

30.3.6 测试列表操作栏活动   867

30.4 标准导航操作栏活动   868

30.4.1 标准导航操作栏活动   868

30.4.2 更改BaseActionBar-Activity    869

30.4.3 更改AndroidManifest.xml    870

30.4.4 测试标准操作栏活动   870

30.5 参考资料   871

30.6 小结   872

第31 章 3.0 版中的更多主题  873

31.1 基于列表的主屏幕部件  873

31.1.1 3.0 版中新的远程视图   873

31.1.2 在远程视图中使用列表  875

31.1.3 应用示例:测试主屏幕列表部件   885

31.1.4 对测试列表部件进行测试   893

31.2 拖放   894

31.2.1 3.0 版中拖放的基础知识   894

31.2.2 拖放示例应用程序   895

31.2.3 测试示例拖放应用程序   905

31.3 参考资料   906

31.4 小结   907

评论 ······

讲的很细,应该是最好的一本android 了

相当全面的一本书

读下来确实能理解很多Android设计的概念,但是离精通还差很远。本书更像Android的入门书籍,读完后对迅速理解Android开发涉及的关键技术。但是由于本书都采用一些经典的示例来演示这些关键技术,不可能与个人的生产实践完全契合,要想真正开发好的Android app,还要靠自己多写多参考其他优秀的Android app实现。另外,我觉得本书对Android UI设计的篇幅太少,可以更详实些。

这本书讲的很不错,看过后收获很多,有一点基础的看会更好.代码构建也很优雅,比如托管对话框那部分!

点击星号评分!

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

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

评论 抢沙发

评论前必须登录!

 

登录

找回密码

注册