Android 4高级编程

Android 4高级编程 pdf epub mobi txt 电子书 下载 2026

出版者:清华大学出版社
作者:(美)迈耶(Meier, R.) 著
出品人:
页数:703
译者:佘建伟
出版时间:2013-4-1
价格:98.00元
装帧:平装
isbn号码:9787302315582
丛书系列:
图书标签:
  • Android
  • 编程
  • 计算机
  • 程序设计
  • android
  • 计算机技术
  • Android开发
  • 技术
  • Android
  • 高级编程
  • 开发
  • 编程语言
  • 移动应用
  • Java
  • 界面设计
  • 系统编程
  • 用户体验
  • API
想要找书就要到 图书目录大全
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

《Android 4高级编程(第3版)》由Android权威专家编写,涵盖了所有最新的内容,是学习使用Android 4 SDK开发移动应用程序的理想指南。本书见解深刻,帮助经验丰富的Android开发人员充分挖掘Android 4的新特性的潜力,同时讲解了Android开发的基础知识,使初学者也可以借助本书入门。作为一本以实用性为目的的指导图书,本书带领您逐步完成复杂程度越来越高的Android项目,每个项目中都引入一种新的Android平台特性,并着重指出有助于编写引人入胜的应用程序的技术和最佳实践。

本书特色

◆ 深入分析了Android应用程序的组件和生命周期

◆ 探讨了Android的UI原理、设计理念和UI API,使用户界

面在手机、平板电脑和电视上都引人注目

◆ 介绍了创建基于地图的应用程序和使用基于位置的服务

的相关知识

◆ 解释了如何创建后台服务、通知和Cloud to Device Messaging

◆ 演示了如何创建动态的、交互式的主屏幕微件和Live

Wallpaper

◆ 探索了硬件和通信API,包括蓝牙、电话、Wi-Fi Direct、

NFC和Android Beam

◆ 讲解了摄像头和硬件传感器的使用

◆ 详述了新的动画框架和其他增强用户体验的特性,包括

拖放、Action Bar和Fragment

◆ 新增了关于应用程序发布的一章内容

◆ 介绍了License Verification和应用程序内收费服务

《Android 4高级编程》这本书,正如其名,它并非一本基础入门指南,而是专为那些已经掌握了Android开发基本概念,渴望深入理解其内部机制、优化性能、掌握高级特性的开发者量身打造的进阶读物。本书旨在带领读者超越表面API的使用,触及Android系统更深层的原理,从而编写出更健壮、更高效、更具扩展性的应用。 内容聚焦与深度挖掘: 本书绝不会止步于介绍各个组件(Activity, Service, BroadcastReceiver, ContentProvider)的生命周期和基本用法。它会深入剖析这些组件背后的IPC(进程间通信)机制,例如Binder的工作原理,让你理解不同进程之间的信息是如何传递与协调的。你会了解到系统服务是如何实现的,它们是如何与应用程序组件交互的,以及如何利用这些系统服务来构建更强大的功能。 在UI开发方面,本书不会仅仅停留在布局文件的编写和View的简单定制。它会深入讲解自定义View的绘制原理,包括Measure, Layout, Draw三个核心流程,让你能够创建出具有独特交互体验和视觉效果的UI控件。此外,还会探讨动画框架的深层机制,如何利用属性动画(Property Animation)实现更复杂、更流畅的动画效果,以及如何优化UI渲染性能,避免UI卡顿和掉帧。 数据存储是应用程序的生命线。本书会对SQLite数据库的内部结构、优化策略进行详细讲解,包括索引的创建与使用、查询优化、事务处理等。更重要的是,它会深入研究ContentProvider的实现细节,理解其作为跨应用数据共享枢纽的作用,以及如何高效地设计和使用ContentProvider来管理和共享数据。你还会接触到更高级的数据持久化技术,例如Preferences的高级用法和可能的替代方案。 网络通信是现代应用不可或缺的部分。本书会深入讲解Android的网络栈,包括HTTP协议的细节、Socket编程的应用,以及如何利用AsyncTask, Volley, Retrofit等库进行高效、可靠的网络请求。更重要的是,它会探讨如何处理网络异常、如何进行数据同步、如何实现离线数据存储与同步策略,以及网络安全相关的考量。 性能优化与系统级思考: 性能优化是高级编程的核心。本书会提供一系列实用的性能分析工具和方法,例如使用Systrace, Traceview等工具来检测应用的性能瓶颈,找出CPU、内存、I/O方面的耗时操作。你会学习到如何分析内存泄漏,如何优化内存使用,如何有效地管理线程,避免内存溢出。例如,对于图片加载,它会深入讲解Bitmap的加载、缓存、回收机制,以及如何利用第三方库(如Glide, Picasso)来优化图片加载性能。 此外,本书还会引导开发者思考Android系统的资源管理机制,例如内存管理、CPU调度、电源管理等。理解这些底层机制,能够帮助你编写出更省电、更流畅的应用。它还会涉及Android后台任务的处理,例如如何合理使用Service, AlarmManager, JobScheduler等来执行定时任务或后台处理,同时避免耗尽系统资源。 高级特性与最佳实践: 本书还会覆盖Android 4.x版本中一些重要的、更高级的特性,例如Fragment的深度使用和管理,Fragment的生命周期与Activity的关系,Fragment的嵌套与回退栈管理。它还会深入讲解Intent的复杂用法,包括隐式Intent的匹配机制,以及如何利用Intent Filter来实现更灵活的应用间交互。 多线程编程是复杂应用的必然需求。本书会详细讲解Android中的多线程模型,包括Thread, Handler, Lo Looper, Message, MessageQueue的工作原理,以及如何安全地在UI线程和工作线程之间切换。你会学习到并发编程的最佳实践,例如如何使用ExecutorService来管理线程池,如何避免死锁和竞态条件。 对于需要更高层次的架构设计,本书会探讨一些设计模式在Android开发中的应用,例如MVC, MVP, MVVM等架构模式,帮助开发者构建出更易于维护、扩展和测试的代码。它还会触及代码混淆、代码签名等发布前的准备工作,以及一些基本的安全防护措施。 目标读者画像: 本书适合那些已经具备Java或Kotlin基础,并且对Android开发有过一定实践经验的开发者。你可能已经独立开发过一些应用,但希望能够进一步提升自己的技术深度,理解Android系统的内部运作。如果你是一名希望优化现有应用性能、解决棘手技术难题、或者探索更高级Android特性的开发者,那么这本书将是你的理想选择。它将帮助你从“会写Android应用”蜕变为“精通Android应用开发”。

作者简介

Reto Meier 目前是Google Android 团队的一名Android 开发人员倡导者,帮助Android 开发人员创建最优秀的应用程序。Reto 是一位经验丰富的软件开发人员,拥有逾10 年的GUI 应用程序开发经验。进入Google 之前,他曾在多种行业中工作过,包括海洋石油、天然气以及金融业。

Reto 始终不渝地追求掌握新技术,从2007 年Android 发布之初Reto 就迷恋上了此项技术。在Reto 的个人网站Radioactive Yak(http://blog. radioactiveyak.com) 上可以了解Reto 的兴趣和爱好。他还在Google+(http://profiles.google.com/reto.meier) 和Twitter(www.twitter.com/retomeier) 上分享各种信息。

技术编辑简介

Dan Ulery 是一名软件工程师,具有.NET、Java 和PHP 的开发经验,并且十分熟悉软件部署。他毕业于爱达荷大学,获得了计算机科学学士学位,并且辅修了数学专业。

目录信息

目 录
第1章 Android简介 1
1.1 一些背景信息 2
1.1.1 不远的过去 2
1.1.2 未来的前景 2
1.2 对Android的误解 3
1.3 Android:开放的移动开发平台 3
1.4 原生Android应用程序 4
1.5 Android SDK的特征 5
1.5.1 访问硬件(包括摄像头、GPS和
传感器) 5
1.5.2 使用Wi-Fi、蓝牙技术和NFC
进行数据传输 6
1.5.3 地图、地理编码和基于位置的
服务 6
1.5.4 后台服务 6
1.5.5 使用SQLite数据库进行数据
存储和检索 7
1.5.6 共享数据和应用程序间通信 7
1.5.7 使用Widget和Live Wallpaper
增强主屏幕 7
1.5.8 广泛的媒体支持和2D/3D图形 7
1.5.9 Cloud to Device Messaging 8
1.5.10 优化的内存和进程管理 8
1.6 开放手机联盟简介 8
1.7 运行Android的环境 9
1.8 从事移动开发的原因 9
1.9 从事Android开发的原因 9
1.9.1 推动Android普及的因素 10
1.9.2 Android的独到之处 10
1.9.3 改变移动开发格局 11
1.10 开发框架简介 11
1.10.1 开发包中的资源 12
1.10.2 理解Android软件栈 12
1.10.3 Dalvik虚拟机 14
1.10.4 Android应用程序架构 14
1.10.5 Android库 15
第2章 开始入手 17
2.1 Android开发 18
2.1.1 开始前的准备工作 18
2.1.2 创建第一个Android应用程序 24
2.1.3 Android应用程序的类型 31
2.2 面向移动设备和嵌入式设备的
开发 32
2.2.1 硬件限制带来的设计考虑事项 32
2.2.2 考虑用户环境 35
2.2.3 Android开发 36
2.3 Android开发工具 40
2.3.1 Android虚拟设备管理器 41
2.3.2 Android SDK管理器 42
2.3.3 Android模拟器 42
2.3.4 Dalvik调试监控服务(DDMS) 42
2.3.5 Android调试桥(ADB) 43
2.3.6 Hierarchy Viewer和Lint工具 43
2.3.7 Monkey和Monkey Runner 43
第3章 创建应用程序和Activity 45
3.1 Android应用程序的组成部分 46
3.2 应用程序Manifest文件简介 47
3.3 使用Manifest编辑器 54
3.4 分离资源 55
3.4.1 创建资源 55
3.4.2 使用资源 63
3.4.3 为不同的语言和硬件创建
资源 66
3.4.4 运行时配置更改 68
3.5 Android应用程序生命周期 70
3.6 理解应用程序的优先级和进程
状态 70
3.7 Android Application类简介 72
3.7.1 扩展和使用Application类 72
3.7.2 重写应用程序的生命周期
事件 73
3.8 深入探讨Android Activity 74
3.8.1 创建Activity 74
3.8.2 Activity的生存期 76
3.8.3 Android Activity类 81
第4章 创建用户界面 83
4.1 Android UI基本设计 84
4.2 Android UI的基础知识 84
4.3 布局简介 85
4.3.1 定义布局 86
4.3.2 使用布局创建设备无关的UI 87
4.3.3 优化布局 90
4.4 To-Do List示例 93
4.5 Fragment介绍 100
4.5.1 创建新的Fragment 101
4.5.2 Fragment的生命周期 101
4.5.3 Fragment Manager介绍 105
4.5.4 向Activity中添加Fragment 105
4.5.5 Fragment和Activity之间的
接口 110
4.5.6 没有用户界面的Fragment 111
4.5.7 Android Fragment 类 112
4.5.8 对To-Do List示例使用
Fragment 112
4.6 Android widget 工具箱 116
4.7 创建新视图 117
4.7.1 修改现有的视图 118
4.7.2 创建复合控件 122
4.7.3 使用布局创建简单的复合
控件 124
4.7.4 创建定制的视图 124
4.7.5 使用定制的控件 137
4.8 Adapter简介 137
4.8.1 部分原生Adapter简介 138
4.8.2 定制ArrayAdapter 138
4.8.3 使用Adapter绑定数据到
视图 139
第5章 Intent和Broadcast Receiver 145
5.1 Intent简介 145
5.1.1 使用Intent来启动Activity 146
5.1.2 Linkify简介 153
5.1.3 使用Intent广播事件 155
5.1.4 Local Broadcast Manager 159
5.1.5 Pending Intent简介 160
5.2 创建Intent Filter和Broadcast
Receiver 161
5.2.1 使用Intent Filter为隐式Intent
提供服务 161
5.2.2 使用Intent Filter作为插件和
扩展 170
5.2.3 监听本地Broadcast Intent 173
5.2.4 使用Broadcast Intent监控设备的
状态变化 174
5.2.5 在运行时管理Manifest
Receiver 176
第6章 使用Internet资源 177
6.1 下载和分析Internet资源 177
6.1.1 连接Internet资源 178
6.1.2 使用XML Pull Parser分析
XML 179
6.1.3 创建一个地震查看器 180
6.2 使用Download Manager 186
6.2.1 下载文件 186
6.2.2 自定义Download Manager
Notification 187
6.2.3 指定下载位置 188
6.2.4 取消和删除下载 189
6.2.5 查询Download Manager 189
6.3 使用Internet服务 192
6.4 连接到Google App Engine 192
6.5 下载数据而不会耗尽电量的
最佳实践 194
第7章 文件、保存状态和首选项 195
7.1 保存简单的应用程序数据 195
7.2 创建并保存Shared Preference 196
7.3 检索Shared Preference 197
7.4 为地震查看器创建一个设置
Activity 197
7.5 首选项框架和Preference Activity
概述 205
7.5.1 在XML中定义一个
Preference Screen布局 206
7.5.2 Preference Fragment简介 208
7.5.3 使用Preference Header定义
Preference Fragment的层次
结构 208
7.5.4 Preference Activity简介 209
7.5.5 向后兼容性与Preference
Screen 210
7.5.6 找到并使用Preference Screen
设置的Shared Preference 210
7.5.7 Shared Preference Change
Listener简介 211
7.6 为地震查看器创建一个标准的
Preference Activity 211
7.7 持久化应用程序实例的状态 215
7.7.1 使用Shared Preference保存
Activity状态 215
7.7.2 使用生命周期处理程序保存和
还原Activity实例 215
7.7.3 使用生命周期处理程序保存和
还原Fragment实例状态 216
7.8 将静态文件作为资源添加 218
7.9 在文件系统下工作 218
7.9.1 文件管理工具 218
7.9.2 使用特定于应用程序的文件夹
存储文件 219
7.9.3 创建私有的应用程序文件 219
7.9.4 使用应用程序文件缓存 220
7.9.5 存储公共可读的文件 220
第8章 数据库和Content Provider 223
8.1 Android数据库简介 223
8.1.1 SQLite数据库简介 224
8.1.2 Content Provider简介 224
8.2 SQLite简介 224
8.3 Content Value和Cursor 225
8.4 使用SQLite数据库 225
8.4.1 SQLiteOpenHelper简介 226
8.4.2 在不使用SQLiteOpenHelper的
情况下打开和创建数据库 228
8.4.3 Android数据库设计注意
事项 228
8.4.4 查询数据库 228
8.4.5 从Cursor中提取值 229
8.4.6 添加、更新和删除行 230
8.5 创建Content Provider 232
8.5.1 注册Content Provider 233
8.5.2 发布Content Provider的URI
地址 233
8.5.3 创建Content Provide的
数据库 234
8.5.4 实现Content Provider查询 235
8.5.5 Content Provider事务 236
8.5.6 在Content Provider中存储
文件 239
8.5.7 一个Content Provider的实现
框架 240
8.6 使用Content Provider 244
8.6.1 Content Resolver简介 244
8.6.2 查询Content Provider 244
8.6.3 使用Cursor Loader异步查询
内容 247
8.6.4 添加、删除和更新内容 249
8.6.5 访问Content Provider中存储的
文件 251
8.6.6 创建一个To-Do List数据库和
Content Provider 253
8.7 将搜索功能添加到应用程序中 260
8.7.1 使Content Provider可搜索 261
8.7.2 为应用程序创建一个搜索
Activity 261
8.7.3 将搜索Activity设置为应用
程序的默认搜索Provider 263
8.7.4 使用搜索视图微件 266
8.7.5 由Content Provider支持搜索
建议 267
8.7.6 在快速搜索框中显示搜索
结果 270
8.8 创建可搜索的地震Content
Provider 270
8.8.1 创建Content Provider 270
8.8.2 使用地震Content Provider 276
8.8.3 搜索EarthquakeContent
Provider 279
8.9 本地Android Content Provider 285
8.9.1 使用Media StoreContent
Provider 285
8.9.2 使用Contacts Contract Content
Provider 286
8.9.3 使用Calendar Content
Provider 293
第9章 在后台操作 297
9.1 Service简介 298
9.1.1 创建和控制Service 298
9.1.2 将Service绑定到Activity 302
9.1.3 地震监控Service示例 304
9.1.4 创建前台Service 308
9.2 使用后台线程 309
9.2.1 使用AsyncTask运行异步任务 310
9.2.2 Intent Service简介 312
9.2.3 Loader简介 313
9.2.4 手动创建线程和GUI线程
同步 313
9.3 使用Alarm 315
9.3.1 创建、设置和取消Alarm 316
9.3.2 设置重复Alarm 317
9.3.3 使用重复Alarm调度网络
刷新 318
9.4 使用Intent Service简化Earthquake
更新Service 320
第10章 扩展用户体验 323
10.1 操作栏简介 324
10.1.1 自定义操作栏 325
10.1.2 自定义操作栏来控制应用
程序的导航行为 328
10.1.3 操作栏操作简介 333
10.2 向地震监控程序添加一个
操作栏 333
10.3 创建并使用菜单和操作栏
操作项 339
10.3.1 Android菜单系统简介 340
10.3.2 创建菜单 341
10.3.3 指定操作栏的操作 342
10.3.4 菜单项选项 343
10.3.5 添加操作View和操作提供
程序 344
10.3.6 在Fragment中添加菜单项 345
10.3.7 使用XML定义菜单层次
结构 345
10.3.8 动态更新菜单项 347
10.3.9 处理菜单选择 347
10.3.10 子菜单和上下文菜单简介 348
10.4 更新地震监控程序 351
10.5 全屏显示 353
10.6 对话框简介 355
10.6.1 创建一个对话框 356
10.6.2 使用AlertDialog类 356
10.6.3 使用专门的输入对话框 357
10.6.4 通过Dialog Fragment管理和
显示对话框 358
10.6.5 通过Activity事件处理程序
管理和显示对话框 360
10.6.6 将Activity用作对话框 361
10.7 创建Toast 361
10.7.1 自定义Toast 362
10.7.2 在工作线程中使用Toast 364
10.8 Notification简介 365
10.8.1 Notification Manager简介 366
10.8.2 创建Notification 366
10.8.3 设置和自定义通知托盘UI 369
10.8.4 配置持续和连续的
Notification 373
10.8.5 触发、更新和取消
Notification 374
10.9 向地震监控程序中添加
Notification和对话框 376
第11章 高级用户体验 381
11.1 为每个屏幕尺寸和分辨率做
设计 382
11.1.1 分辨率无关 382
11.1.2 为不同的屏幕大小提供支持和
优化 383
11.1.3 创建可缩放的图形资源 386
11.1.4 创建优化的、自适应的、
动态的设计 390
11.1.5 反复测试 390
11.2 确保可访问性 391
11.2.1 为非触屏设备提供导航 391
11.2.2 为每个View提供文本
描述 391
11.3 Android Text-to-Speech简介 392
11.4 使用语音识别 394
11.4.1 使用语音识别进行语音
输入 395
11.4.2 使用语音识别进行搜索 396
11.5 控制设备振动 396
11.6 使用动画 397
11.6.1 补间View动画 397
11.6.2 创建和使用逐帧动画 400
11.6.3 插值属性动画 400
11.7 强化View 404
11.7.1 高级Canvas绘图 404
11.7.2 硬件加速 419
11.7.3 Surface View简介 420
11.7.4 创建交互式控件 423
11.8 高级Drawable资源 428
11.9 复制、粘贴和剪贴板 431
11.9.1 向剪贴板中复制数据 431
11.9.2 粘贴剪贴板数据 431
第12章 硬件传感器 433
12.1 使用传感器和传感器
管理器 433
12.1.1 受支持的Android传感器 434
12.1.2 虚拟传感器简介 435
12.1.3 查找传感器 435
12.1.4 监视传感器 436
12.1.5 解释传感器值 438
12.2 监视设备的移动和方向 439
12.2.1 确定设备的自然方向 440
12.2.2 加速计简介 441
12.2.3 检测加速度变化 442
12.2.4 创建一个重力计 443
12.2.5 确定设备方向 446
12.2.6 创建一个指南针和人工
地平仪 450
12.2.7 陀螺仪传感器简介 453
12.3 环境传感器简介 454
12.3.1 使用气压计传感器 454
12.3.2 创建气象站 455
第13章 地图、地理编码和基于位置的
服务 461
13.1 使用基于位置的服务 461
13.2 在模拟器中使用基于位置的
服务 462
13.2.1 更新模拟器位置提供器中的
位置 463
13.2.2 配置模拟器来测试基于位置的
服务 463
13.3 选择一个位置提供器 464
13.3.1 查找位置提供器 464
13.3.2 通过指定条件查找位置
提供器 464
13.3.3 确定位置提供器的能力 465
13.4 确定当前位置 466
13.4.1 位置的隐私性 466
13.4.2 找出上一次确定的位置 466
13.4.3 Where Am I示例 466
13.4.4 刷新当前位置 469
13.4.5 在Where Am I中跟踪
位置 472
13.4.6 请求单独一次位置更新 473
13.5 位置更新的最佳实践 474
13.6 使用近距离提醒 477
13.7 使用地理编码器 478
13.7.1 反向地理编码 479
13.7.2 前向地理编码 480
13.7.3 对“Where Am I”示例
进行地理编码 481
13.8 创建基于地图的Activity 482
13.8.1 MapView和MapActivity
简介 482
13.8.2 获得地图的API key 483
13.8.3 创建一个基于地图的
Activity 483
13.8.4 地图和Fragment 485
13.8.5 配置和使用MapView 486
13.8.6 使用MapController 486
13.8.7 对“Where Am I”示例使用
地图 487
13.8.8 创建和使用覆盖(Overlay) 490
13.8.9 MyLocationOverlay简介 497
13.8.10 ItemizedOverlay和
OverlayItem简介 498
13.8.11 将视图固定到地图和地图的
某个位置上 500
13.9 对Earthquake示例添加地图
功能 501
第14章 个性化主屏幕 507
14.1 主屏幕Widget简介 507
14.2 创建App Widgets 509
14.2.1 创建Widget的XML
布局资源 509
14.2.2 定义Widget设置 511
14.2.3 创建Widget Broadcast Receiver
并将其添加到应用程序的
manifest文件中 512
14.2.4 AppWidgetManager和
RemoteView简介 513
14.2.5 刷新Widget 518
14.2.6 创建并使用Widget配置
Activity 521
14.3 创建地震Widget 522
14.4 Collection View Widget简介 528
14.4.1 创建Collection View Widget的
布局 529
14.4.2 创建RemoteViewsService 530
14.4.3 创建一个RemoteViews-
Factory 531
14.4.4 使用RemoteViewsService
填充CollectionViewWidget 533
14.4.5 向Collection View Widget
中的项添加交互性 534
14.4.6 将Collection View Widget
绑定到Content Provider 535
14.4.7 刷新Collection View
Widget 537
14.4.8 创建Earthquake Collection
View Widget 537
14.5 Live Folder简介 543
14.5.1 创建Live Folder 544
14.5.2 创建Earthquake Live Folder 548
14.6 使用快速搜索框显示应用程序
搜索结果 551
14.6.1 在快速搜索框中显示搜索
结果 551
14.6.2 将Earthquake示例的搜索
结果添加到快速搜索框中 552
14.7 创建Live Wallpaper 553
14.7.1 创建Live Wallpaper定义
资源 553
14.7.2 创建Wallpaper Service 554
14.7.3 创建Wallpaper Service
引擎 555
第15章 音频、视频以及摄像头的
使用 557
15.1 播放音频和视频 558
15.1.1 Media Player简介 559
15.1.2 准备音频播放 559
15.1.3 准备视频播放 560
15.1.4 控制Media Player的
播放 564
15.1.5 管理媒体播放输出 566
15.1.6 响应音量控制 566
15.1.7 响应Media播放控件 567
15.1.8 请求和管理音频焦点 569
15.1.9 当音频输出改变时暂停
播放 571
15.1.10 Remote Control Client简介 572
15.2 操作原始音频 574
15.2.1 使用AudioRecord录制
声音 574
15.2.2 使用AudioTrack播放音频 575
15.3 创建一个Sound Pool 577
15.4 使用音效 578
15.5 使用摄像头拍摄照片 579
15.5.1 使用Intent拍摄照片 579
15.5.2 直接控制摄像头 581
15.5.3 读取并写入 JPEG EXIF图像
详细信息 588
15.6 录制视频 589
15.6.1 使用Intent录制视频 589
15.6.2 使用MediaRecorder录制
视频 590
15.7 使用媒体效果 593
15.8 向媒体库中添加新媒体 594
15.8.1 使用媒体扫描仪插入媒体 594
15.8.2 手动插入媒体 595
第16章 蓝牙、NFC、网络和Wi-Fi 597
16.1 使用蓝牙 597
16.1.1 管理本地蓝牙设备适配器 598
16.1.2 可发现性和远程设备发现 600
16.1.3 蓝牙通信 604
16.2 管理网络和Internet连接 609
16.2.1 Connectivity Manager简介 609
16.2.2 支持用户首选项以进行后台
数据传输 609
16.2.3 查找和监视网络连接 611
16.3 管理Wi-Fi 612
16.3.1 监视Wi-Fi连接 613
16.3.2 监视活动的Wi-Fi连接的
详细信息 613
16.3.3 扫描热点 613
16.3.4 管理Wi-Fi配置 614
16.3.5 创建Wi-Fi网络配置 615
16.4 使用Wi-Fi Direct传输数据 615
16.4.1 初始化Wi-Fi Direct框架 615
16.4.2 启用Wi-Fi Direct并监视其
状态 617
16.4.3 发现对等设备 618
16.4.4 连接对等设备 618
16.4.5 在对等设备之间传输数据 620
16.5 近场通信 621
16.5.1 读取NFC标签 622
16.5.2 使用前台分派系统 623
16.5.3 Android Beam简介 625
第17章 电话服务和SMS 629
17.1 电话服务的硬件支持 629
17.1.1 将电话功能指定为必需的
硬件功能 629
17.1.2 检查电话硬件 630
17.2 使用电话服务 630
17.2.1 启动电话呼叫 630
17.2.2 替换本机拨号程序 631
17.2.3 访问电话服务的属性及状态 632
17.2.4 使用PhoneStateListener
监视电话状态的变化 635
17.2.5 使用Intent Receiver监视传入的
电话呼叫 639
17.3 SMS和MMS简介 640
17.3.1 在应用程序中使用SMS和
MMS 640
17.3.2 使用Intent从应用程序中
发送SMS和MMS 640
17.3.3 使用SMS Manager发送
SMS消息 641
17.3.4 监听传入的SMS消息 644
17.3.5 紧急响应程序SMS示例 646
17.3.6 自动紧急响应程序 654
17.4 SIP和VOIP简介 662
第18章 Android高级开发 663
18.1 Android的安全性 664
18.1.1 Linux内核安全 664
18.1.2 权限简介 664
18.2 Cloud to Device Messaging简介 666
18.2.1 C2DM的局限性 667
18.2.2 注册使用C2DM 667
18.2.3 在C2DM服务器上注册
设备 667
18.2.4 向设备发送C2DM消息 670
18.2.5 接收C2DM消息 672
18.3 使用License Verification Library
实现版权保护 673
18.3.1 安装License Verification
Library 673
18.3.2 获得License Verification
公钥 673
18.3.3 配置License Validation
Policy 674
18.3.4 执行许可验证检查 674
18.4 应用程序内收费 675
18.4.1 应用程序内收费的局限性 676
18.4.2 安装IAB库 676
18.4.3 获得公钥和定义可购买的
物品 676
18.4.4 开始IAB交易 677
18.4.5 处理IAB购买请求的响应 678
18.5 使用Wake Lock 679
18.6 使用AIDL支持Service的
IPC 680
18.7 处理不同硬件和软件的可用性 686
18.7.1 指定硬件的要求 686
18.7.2 确认硬件可用性 687
18.7.3 构建向后兼容的应用程序 687
18.8 利用STRICT模式优化UI
性能 689
第19章 推广和发布应用程序并从中
获利 691
19.1 签名和发布应用程序 691
19.2 发布应用程序 693
19.2.1 Google Play简介 693
19.2.2 开始使用Google Play 694
19.2.3 发布应用程序 695
19.2.4 开发者控制台上的应用程序
报告 697
19.2.5 查看应用程序错误报告 697
19.3 如何通过应用程序赚钱 698
19.4 应用程序销售、推广和分发的
策略 699
19.4.1 应用程序的起步策略 699
19.4.2 在Google Play上推广 700
19.4.3 国际化 700
19.5 分析数据和跟踪推荐人 701
19.5.1 使用移动应用程序的Google
Analytics 702
19.5.2 使用Google Analytics追踪
推荐 703
· · · · · · (收起)

读后感

评分

该书并不像市面上的大多数Android应用开发书将官方文档简单整理出版(实际上官方文档是最好的入门学习资料),而是真正加入了不少Android开发的干货,作者将多年的开发经验凝结成技巧和心得在此书中出版,因此原版这本书绝对是一本好书,值得已经入门的初学者学习阅读。但是,...  

评分

该书并不像市面上的大多数Android应用开发书将官方文档简单整理出版(实际上官方文档是最好的入门学习资料),而是真正加入了不少Android开发的干货,作者将多年的开发经验凝结成技巧和心得在此书中出版,因此原版这本书绝对是一本好书,值得已经入门的初学者学习阅读。但是,...  

评分

市面上的很多书籍都是developer.android.com上guide的简单翻译,例子照抄android sdk中的sample,而且翻译质量还不怎么样,读这些书不如直接去官网上看guide。 本书基本覆盖了android app开发的方方面面,把android程序开发的重要组件都讲明白了,不像某些国内作者的书,看完了...  

评分

对移动开发人员来说,现在是一个令人心潮澎湃的时代。手机从来没有像今天这样流行,强大的智能手机产品已经为消费者所普遍接受,而且Android 生态系统已经扩展到了平板电脑和电视设备,进一步增加了您的Android 应用程序的受众。 现在,外观时尚且用途广泛的手机带有GPS、加速...  

评分

翻了这么长时间才出来大作,居然让我这个新手挑出不少的错误,着实让人不爽,建议对照英文原版一起看,大家一起来挑错,让以后的译本更加完美。

用户评价

评分

这本书绝对是Android开发者进阶的必备读物!我之前对Android的图形渲染和动画效果一直感到模糊,但《Android 4高级编程》用大量篇幅详细解析了Canvas的绘制原理、Path的运用以及各种动画插值器和TypeEvaluator的实现。我甚至尝试着根据书中的例子,自己实现了一些酷炫的自定义动画,效果出乎意料地好。而且,书中对数据库操作的深入讲解,不仅仅局限于SQLite,还涵盖了ORM框架的使用和性能优化,这对于需要频繁进行数据持久化的应用来说,非常有价值。我最欣赏的是作者在讲解过程中,总是能够将理论知识与实际应用场景相结合,不会让人觉得枯燥乏味。它让我明白,所谓的“高级”编程,并非是掌握多少API,而是对Android系统底层原理的深刻理解,以及能够运用这些原理来解决复杂问题的能力。这本书确实帮助我将我的Android开发技能提升到了一个新的高度。

评分

我简直要为《Android 4高级编程》的深度和广度点赞!这本书简直是Android开发者的“武功秘籍”,涵盖了许多我之前仅仅是听说过但从未深入了解过的领域。它关于并发编程的部分,对线程池、AsyncTask的原理以及如何在多线程环境下安全地访问UI线程进行了详尽的讲解,让我恍然大悟,解决了困扰我许久的UI刷新问题。更让我惊喜的是,书中还探讨了Android的权限模型和安全加固,这对于开发涉及敏感信息或需要高度安全性的应用至关重要。作者并没有回避一些技术上的难点,而是迎难而上,用清晰的逻辑和丰富的实例,将复杂的概念变得易于理解。我特别喜欢它关于NDK开发的介绍,虽然我之前对C/C++并不太熟悉,但通过书中的引导,我逐渐掌握了如何利用NDK来提升应用的性能,并与Java代码进行交互,这为我的开发打开了新的大门。这本书的内容质量非常高,完全配得上“高级”二字,让我觉得物超所值。

评分

说实话,我拿到《Android 4高级编程》这本书之前,对Android开发的很多概念都是一知半解。这本书的出现,就像在我脑海中建立起了一个清晰的框架。它对Android的事件分发机制的讲解,让我彻底理解了触摸事件是如何在View层级中传递和处理的,这对于开发自定义的交互式UI至关重要。还有关于布局优化和性能调优的部分,书中提供的各种技巧和工具,让我能够更有效地识别和解决性能瓶颈,从而提升应用的响应速度和用户体验。我特别喜欢书中对广播接收器(Broadcast Receiver)的深入分析,它不仅仅是简单的发送和接收,还探讨了有序广播、粘性广播等高级用法,以及在广播接收器中处理耗时操作的注意事项,这让我能够写出更健壮、更高效的广播通信机制。这本书的内容非常全面,覆盖了Android开发的方方面面,并且都讲解得非常透彻,对于想要深入理解Android的开发者来说,这本书是不可多得的宝藏。

评分

我必须说,《Android 4高级编程》是一本颠覆了我之前学习方式的书。我之前习惯于碎片化地学习Android知识,看一些零散的教程,但这本书的系统性非常强,它从Android架构的宏观视角切入,逐步深入到各个子系统的细节。尤其是它对Intent体系的解析,不再是简单的Action和Category的使用,而是深入到IntentResolver、ActivityManagerService等底层组件的交互,让我对应用间的启动和通信有了更深刻的理解。书中关于内容提供者(Content Provider)的设计理念和实现方式,也让我明白了如何高效地管理和共享应用间的数据,并且避免了数据访问的混乱。我喜欢作者的写作风格,非常注重细节,对每一个API的参数、返回值以及可能出现的异常都进行了细致的说明。这本书不仅仅是在传授知识,更是在培养开发者解决问题的能力,让我学会如何去分析和定位那些隐藏在代码深处的Bug。

评分

这本书真是不负“高级”二字,让我彻底颠覆了对Android开发的原有认知。在阅读之前,我以为自己对Activity生命周期、Fragment交互、Service通信这些基本概念已经了如指掌,但《Android 4高级编程》用扎实的内容和深入浅出的讲解,为我揭示了更深层次的原理和更精妙的设计。比如,它对Binder机制的剖析,不仅仅是停留在API的调用层面,而是深入到IPC的本质,让我理解了Android系统中进程间通信的高效与复杂。还有关于内存管理和性能优化的章节,简直是开发者福音,作者不厌其烦地列举了各种常见的内存泄露场景,并提供了切实可行的解决方案,让我受益匪浅。我尤其欣赏的是书中对自定义View绘制流程的详细阐述,从MeasureSpec的理解到onLayout的调用,再到onDraw的实现,每一步都清晰明了,配合源码分析,让我真正掌握了绘制的艺术。即使是经验丰富的开发者,也能在这本书中找到新的启发点。它不是一本速成指南,而是一本需要静下心来细细品读的经典之作,每次重读都会有新的感悟。

评分

haha,我的目标是写android 版陈琦要你命3000的单词软件,陈琦老师等我。。

评分

haha,我的目标是写android 版陈琦要你命3000的单词软件,陈琦老师等我。。

评分

内容很全

评分

haha,我的目标是写android 版陈琦要你命3000的单词软件,陈琦老师等我。。

评分

很一般的书,当成字典还可以

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.wenda123.org All Rights Reserved. 图书目录大全 版权所有