描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787115355171
编辑推荐
无论你刚刚开始着手构建当今**大移动平台Android上的应用程序,还是你已经构建过Android应用程序想更上一层楼,本书都将为你提供所需的专业指导和实现代码。
这一版与第1版相比做了大量的更新,增加了高级线程和UI开发、应用内计费、推送消息和原生开发等全新章节,还介绍了访问NFC硬件、使用Google云消息等各种新技术。
书中的一百多个技巧堪称面面俱到,将引领你从入门直到精通,帮助你将**的Android API和工具的功效发挥得淋漓尽致。作者对代码示例进行了彻底的更新,使其能够为你的项目和组件服务。阅读本书,你将会学到*实用的技术,从而高效地解决常见的问题,避开项目开发生命周期中的各种陷阱。
这一版与第1版相比做了大量的更新,增加了高级线程和UI开发、应用内计费、推送消息和原生开发等全新章节,还介绍了访问NFC硬件、使用Google云消息等各种新技术。
书中的一百多个技巧堪称面面俱到,将引领你从入门直到精通,帮助你将**的Android API和工具的功效发挥得淋漓尽致。作者对代码示例进行了彻底的更新,使其能够为你的项目和组件服务。阅读本书,你将会学到*实用的技术,从而高效地解决常见的问题,避开项目开发生命周期中的各种陷阱。
内容简介
《Android开发秘籍(第2版)》秉承“一个清晰可用的范例,胜过千言的文档”的原则,以一百多个范例为骨架,将知识、技巧和理念融入其中,从零开始,介绍了Android移动开发的方方面面。从Android及其设备的发展、Android项目的建立等入门内容,到Activity、Intent、视图、线程、服务、用户界面布局、事件等基本要素,再到多媒体、硬件接口、网络、位置服务、应用内计费、消息推送等高级特性,最后还介绍了原生开发、测试与调试。《Android开发秘籍(第2版)》致力于让读者充分理解和利用Android的各种特性,并十分强调设备与版本的兼容性、代码的复用性、项目的健壮性、方法的多样性等良好的开发理念。
《Android开发秘籍(第2版)》的内容由浅入深,方便Android开发初学者上手;书中介绍的技巧彼此相关又相对独立,因此也适合有一定经验的开发者查阅参考。
《Android开发秘籍(第2版)》的内容由浅入深,方便Android开发初学者上手;书中介绍的技巧彼此相关又相对独立,因此也适合有一定经验的开发者查阅参考。
目 录
第1章 Android概览
1.1 Android的演化
1.2 Android的两面性
1.3 运行Android的设备
1.3.1 HTC系列机型
1.3.2 摩托罗拉系列机型
1.3.3 三星系列机型
1.3.4 平板电脑
1.3.5 其他设备
1.4 Android设备间的硬件差异
1.4.1 屏幕
1.4.2 用户输入法
1.4.3 传感器
1.5 Android的特性
1.5.1 多线程应用微件
1.5.2 触摸、手势和多点触摸
1.5.3 硬键盘和软键盘
1.6 Android开发
1.6.1 良好的应用设计
1.6.2 保持向前兼容
1.6.3 确保健壮性
1.7 软件开发工具包(SDK)
1.7.1 安装和升级
1.7.2 软件特性和API级别
1.7.3 用模拟器或Android设备进行调试
1.7.4 使用Android调试桥
1.7.5 签名和发布
1.8 Google Play
1.8.1 最终用户许可协议
1.8.2 提升应用的曝光度
1.8.3 让应用脱颖而出
1.8.4 为应用收费
1.8.5 管理评价和更新
1.8.6 Google Play以外的其他选择
第2章 应用程序基础:Activity和Intent
2.1 Android应用程序概览
技巧1:创建项目和Activity
2.1.1 项目目录结构及自动生成的内容
2.1.2 Android包和manifest文件
技巧2:重命名应用程序的某些部分
技巧3:使用库项目
2.2 Activity的生命周期
技巧4:使用Activity生命周期函数
技巧5:强制采用单任务模式
技巧6:强制规定屏幕方向
技巧7:保存和恢复Activity信息
技巧8:使用Fragment
2.3 多个Activity
技巧9:使用按钮和文本视图
技巧10:通过事件启动另外一个Activity
技巧11:通过使用语音转文本功能启动一个Activity
技巧12:实现选择列表
技巧13:使用隐式Intent创建Activity
技巧14:在Activity间传递基本数据类型
第3章 线程、服务、接收器和警报
3.1 线程
技巧15:启动一个辅助线程
技巧16:创建实现Runnable接口的Activity
技巧17:设置线程的优先级
技巧18:取消线程
技巧19:在两个应用程序间共享线程
3.2 线程间的消息机制:Handler
技巧20:从主线程调度Runnable型的任务
技巧21:使用倒数计时器
技巧22:处理耗时的初始化工作
3.3 警报
技巧23:利用Toast在屏幕上显示一条简单的信息
技巧24:使用AlertDialog对话框
技巧25:在状态栏中显示通知
3.4 服务
技巧26:创建自足式服务
技巧27:添加唤醒锁
技巧28:使用前台服务
技巧29:使用IntentService
3.5 广播接收器
技巧30:当按下拍照按钮时启动一个服务
3.6 应用微件
技巧31:创建应用微件
第4章 高级线程技术
4.1 装载器
技巧32:使用CursorLoader
4.2 AsyncTask
技巧33:使用AsyncTask
4.3 Android进程间通信
技巧34:实现远程过程调用
技巧35:使用Messenger
技巧36:使用ResultReceiver
第5章 用户界面布局
5.1 资源目录和常规属性
技巧37:指定替代资源
5.2 View和ViewGroup
技巧38:用Eclipse编辑器生成布局
技巧39:控制UI元素的宽度和高度
技巧40:设置相对布局和布局ID
技巧41:通过编程声明布局
技巧42:通过独立线程更新布局
5.3 文本操作
技巧43:设置和改变文本属性
技巧44:提供文本输入
技巧45:创建表单
5.4 其他微件:从按钮到拖动条
技巧46:在表格布局中使用图像按钮
技巧47:使用复选框和开关按钮
技巧48:使用单选按钮
技巧49:创建下拉菜单
技巧50:使用进度条
技巧51:使用拖动条
第6章 用户界面事件
6.1 事件处理器和事件监听器
技巧52:截取物理按键事件
技巧53:构建菜单
技巧54:在XML文件中定义菜单
技巧55:创建操作栏
技巧56:使用ActionBarSherlock
技巧57:使用搜索键
技巧58:响应触摸事件
技巧59:监听滑动手势
技巧60:使用多点触控
6.2 高级用户界面库
技巧61:使用手势
技巧62:绘制3D图像
第7章 高级用户界面技术
7.1 Android自定义视图
技巧63:自定义按钮
7.2 Android动画
技巧64:创建动画
技巧65:使用属性动画
7.3 辅助功能
技巧66:使用辅助功能特性
7.4 Fragment
技巧67:同时显示多个Fragment
技巧68:使用对话框Fragment
第8章 多媒体技术
8.1 图像
技巧69:装载和显示一幅可供操作的图像
8.2 音频
技巧70:选择和播放音频文件
技巧71:录制音频文件
技巧72:操作原始音频
技巧73:有效利用声音资源
技巧74:添加媒体并更新路径
8.3 视频
技巧75:使用VideoView
技巧76:使用MediaPlayer播放视频
第9章 硬件接口
9.1 摄像头
技巧77:自定义摄像头
9.2 其他传感器
技巧78:获取设备的旋转姿态
技巧79:使用温度传感器和光传感器
9.3 电话
技巧80:使用电话管理器
技巧81:监听电话状态
技巧82:拨叫一个号码
9.4 蓝牙
技巧83:开启蓝牙
技巧84:发现蓝牙设备
技巧85:与已绑定的蓝牙设备配对
技巧86:打开蓝牙套接字
技巧87:使用设备振动功能
技巧88:访问无线网络
9.5 近场通信(NFC)
技巧89:读取NFC标签
技巧90:写入NFC标签
9.6 通用串行总线(USB)
第10章 网络
10.1 响应网络状态
技巧91:检查网络连接
技巧92:接收连接变化信息
10.2 使用短消息
技巧93:收到短消息后自动回复
10.3 使用Web内容
技巧94:自定义Web浏览器
技巧95:使用HTTP GET请求
技巧96:使用HTTP POST请求
技巧97:使用WebView
技巧98:解析JSON
技巧99:解析XML
10.4 社交网络
技巧100:读取所有者设定档
技巧101:与Twitter集成
技巧102:与Facebook集成
第11章 数据存储方法
11.1 shared preference
技巧103:创建和检索shared preference
技巧104:使用preference框架
技巧105:基于存储的数据改变用户界面
技巧106:添加最终用户许可协议
11.2 SQLite数据库
技巧107:创建一个独立的数据库包
技巧108:使用独立的数据库包
技巧109:创建个人日记
11.3 内容提供器
技巧110:创建自定义的内容提供器
11.4 文件的保存和载入
技巧111:使用AsyncTask进行异步处理
第12章 基于位置的服务
12.1 位置服务基础
技巧112:检索最近保存的位置
技巧113:在位置改变时更新信息
技巧114:列出所有可用的提供器
技巧115:将位置转化为地址(逆向地理编码)
技巧116:将地址转化为位置(地理编码)
12.2 使用Google地图
技巧117:向应用程序中添加Google地图
技巧118:为地图添加标记
技巧119:向地图上添加视图
技巧120:设置临近警告
12.3 使用Little Fluffy位置库
技巧121:使用Little Fluffy位置库添加通知
第13章 应用内计费
Google Play应用内计费
技巧122:安装Google的应用内计费服务
技巧123:为Activity添加应用内计费机制
技巧124:列出应用内可购买的项目清单
第14章 推送消息
14.1 Google云消息设置
技巧125:准备Google云消息
14.2 发送和接收推送信息
技巧126:准备manifest
14.3 接收消息
技巧127:添加BroadcastReceiver类
技巧128:添加IntentService类
技巧129:注册设备
14.4 发送消息
技巧130:发送文本消息
技巧131:通过AsyncTask发送消息
第15章 原生Android开发
Android原生组件
技巧132:使用Java原生接口
技巧133:使用NativeActivity
第16章 测试和调试
16.1 Android测试项目
技巧134:创建测试项目
技巧135:在Android上加入单元测试
技巧136:使用Robotium
16.2 Eclipse内建测试工具
技巧137:指定运行配置
技巧138:使用DDMS
技巧139:借助断点进行调试
16.3 Android SDK调试工具
技巧140:开启和终止Android调试桥
技巧141:使用LogCat
技巧142:使用Hierachy Viewer
技巧143:使用TraceView
技巧144:使用lint
16.4 Android系统调试工具
技巧145:设置GDB调试
附录A 使用OpenIntents Sensor Simulator
附录B 使用兼容包
附录C 使用持续集成系统
附录D Android操作系统发布版本一览
1.1 Android的演化
1.2 Android的两面性
1.3 运行Android的设备
1.3.1 HTC系列机型
1.3.2 摩托罗拉系列机型
1.3.3 三星系列机型
1.3.4 平板电脑
1.3.5 其他设备
1.4 Android设备间的硬件差异
1.4.1 屏幕
1.4.2 用户输入法
1.4.3 传感器
1.5 Android的特性
1.5.1 多线程应用微件
1.5.2 触摸、手势和多点触摸
1.5.3 硬键盘和软键盘
1.6 Android开发
1.6.1 良好的应用设计
1.6.2 保持向前兼容
1.6.3 确保健壮性
1.7 软件开发工具包(SDK)
1.7.1 安装和升级
1.7.2 软件特性和API级别
1.7.3 用模拟器或Android设备进行调试
1.7.4 使用Android调试桥
1.7.5 签名和发布
1.8 Google Play
1.8.1 最终用户许可协议
1.8.2 提升应用的曝光度
1.8.3 让应用脱颖而出
1.8.4 为应用收费
1.8.5 管理评价和更新
1.8.6 Google Play以外的其他选择
第2章 应用程序基础:Activity和Intent
2.1 Android应用程序概览
技巧1:创建项目和Activity
2.1.1 项目目录结构及自动生成的内容
2.1.2 Android包和manifest文件
技巧2:重命名应用程序的某些部分
技巧3:使用库项目
2.2 Activity的生命周期
技巧4:使用Activity生命周期函数
技巧5:强制采用单任务模式
技巧6:强制规定屏幕方向
技巧7:保存和恢复Activity信息
技巧8:使用Fragment
2.3 多个Activity
技巧9:使用按钮和文本视图
技巧10:通过事件启动另外一个Activity
技巧11:通过使用语音转文本功能启动一个Activity
技巧12:实现选择列表
技巧13:使用隐式Intent创建Activity
技巧14:在Activity间传递基本数据类型
第3章 线程、服务、接收器和警报
3.1 线程
技巧15:启动一个辅助线程
技巧16:创建实现Runnable接口的Activity
技巧17:设置线程的优先级
技巧18:取消线程
技巧19:在两个应用程序间共享线程
3.2 线程间的消息机制:Handler
技巧20:从主线程调度Runnable型的任务
技巧21:使用倒数计时器
技巧22:处理耗时的初始化工作
3.3 警报
技巧23:利用Toast在屏幕上显示一条简单的信息
技巧24:使用AlertDialog对话框
技巧25:在状态栏中显示通知
3.4 服务
技巧26:创建自足式服务
技巧27:添加唤醒锁
技巧28:使用前台服务
技巧29:使用IntentService
3.5 广播接收器
技巧30:当按下拍照按钮时启动一个服务
3.6 应用微件
技巧31:创建应用微件
第4章 高级线程技术
4.1 装载器
技巧32:使用CursorLoader
4.2 AsyncTask
技巧33:使用AsyncTask
4.3 Android进程间通信
技巧34:实现远程过程调用
技巧35:使用Messenger
技巧36:使用ResultReceiver
第5章 用户界面布局
5.1 资源目录和常规属性
技巧37:指定替代资源
5.2 View和ViewGroup
技巧38:用Eclipse编辑器生成布局
技巧39:控制UI元素的宽度和高度
技巧40:设置相对布局和布局ID
技巧41:通过编程声明布局
技巧42:通过独立线程更新布局
5.3 文本操作
技巧43:设置和改变文本属性
技巧44:提供文本输入
技巧45:创建表单
5.4 其他微件:从按钮到拖动条
技巧46:在表格布局中使用图像按钮
技巧47:使用复选框和开关按钮
技巧48:使用单选按钮
技巧49:创建下拉菜单
技巧50:使用进度条
技巧51:使用拖动条
第6章 用户界面事件
6.1 事件处理器和事件监听器
技巧52:截取物理按键事件
技巧53:构建菜单
技巧54:在XML文件中定义菜单
技巧55:创建操作栏
技巧56:使用ActionBarSherlock
技巧57:使用搜索键
技巧58:响应触摸事件
技巧59:监听滑动手势
技巧60:使用多点触控
6.2 高级用户界面库
技巧61:使用手势
技巧62:绘制3D图像
第7章 高级用户界面技术
7.1 Android自定义视图
技巧63:自定义按钮
7.2 Android动画
技巧64:创建动画
技巧65:使用属性动画
7.3 辅助功能
技巧66:使用辅助功能特性
7.4 Fragment
技巧67:同时显示多个Fragment
技巧68:使用对话框Fragment
第8章 多媒体技术
8.1 图像
技巧69:装载和显示一幅可供操作的图像
8.2 音频
技巧70:选择和播放音频文件
技巧71:录制音频文件
技巧72:操作原始音频
技巧73:有效利用声音资源
技巧74:添加媒体并更新路径
8.3 视频
技巧75:使用VideoView
技巧76:使用MediaPlayer播放视频
第9章 硬件接口
9.1 摄像头
技巧77:自定义摄像头
9.2 其他传感器
技巧78:获取设备的旋转姿态
技巧79:使用温度传感器和光传感器
9.3 电话
技巧80:使用电话管理器
技巧81:监听电话状态
技巧82:拨叫一个号码
9.4 蓝牙
技巧83:开启蓝牙
技巧84:发现蓝牙设备
技巧85:与已绑定的蓝牙设备配对
技巧86:打开蓝牙套接字
技巧87:使用设备振动功能
技巧88:访问无线网络
9.5 近场通信(NFC)
技巧89:读取NFC标签
技巧90:写入NFC标签
9.6 通用串行总线(USB)
第10章 网络
10.1 响应网络状态
技巧91:检查网络连接
技巧92:接收连接变化信息
10.2 使用短消息
技巧93:收到短消息后自动回复
10.3 使用Web内容
技巧94:自定义Web浏览器
技巧95:使用HTTP GET请求
技巧96:使用HTTP POST请求
技巧97:使用WebView
技巧98:解析JSON
技巧99:解析XML
10.4 社交网络
技巧100:读取所有者设定档
技巧101:与Twitter集成
技巧102:与Facebook集成
第11章 数据存储方法
11.1 shared preference
技巧103:创建和检索shared preference
技巧104:使用preference框架
技巧105:基于存储的数据改变用户界面
技巧106:添加最终用户许可协议
11.2 SQLite数据库
技巧107:创建一个独立的数据库包
技巧108:使用独立的数据库包
技巧109:创建个人日记
11.3 内容提供器
技巧110:创建自定义的内容提供器
11.4 文件的保存和载入
技巧111:使用AsyncTask进行异步处理
第12章 基于位置的服务
12.1 位置服务基础
技巧112:检索最近保存的位置
技巧113:在位置改变时更新信息
技巧114:列出所有可用的提供器
技巧115:将位置转化为地址(逆向地理编码)
技巧116:将地址转化为位置(地理编码)
12.2 使用Google地图
技巧117:向应用程序中添加Google地图
技巧118:为地图添加标记
技巧119:向地图上添加视图
技巧120:设置临近警告
12.3 使用Little Fluffy位置库
技巧121:使用Little Fluffy位置库添加通知
第13章 应用内计费
Google Play应用内计费
技巧122:安装Google的应用内计费服务
技巧123:为Activity添加应用内计费机制
技巧124:列出应用内可购买的项目清单
第14章 推送消息
14.1 Google云消息设置
技巧125:准备Google云消息
14.2 发送和接收推送信息
技巧126:准备manifest
14.3 接收消息
技巧127:添加BroadcastReceiver类
技巧128:添加IntentService类
技巧129:注册设备
14.4 发送消息
技巧130:发送文本消息
技巧131:通过AsyncTask发送消息
第15章 原生Android开发
Android原生组件
技巧132:使用Java原生接口
技巧133:使用NativeActivity
第16章 测试和调试
16.1 Android测试项目
技巧134:创建测试项目
技巧135:在Android上加入单元测试
技巧136:使用Robotium
16.2 Eclipse内建测试工具
技巧137:指定运行配置
技巧138:使用DDMS
技巧139:借助断点进行调试
16.3 Android SDK调试工具
技巧140:开启和终止Android调试桥
技巧141:使用LogCat
技巧142:使用Hierachy Viewer
技巧143:使用TraceView
技巧144:使用lint
16.4 Android系统调试工具
技巧145:设置GDB调试
附录A 使用OpenIntents Sensor Simulator
附录B 使用兼容包
附录C 使用持续集成系统
附录D Android操作系统发布版本一览
媒体评论
《Android开发秘籍(第2版)》包含了关于如何开发和营销一个成功的Android应用的各种技巧。每一个技巧都含有详细的解释和示例,讲解怎样正确地编写程序,使其能成为Google Play Store 上别具一格的应用。以理解不同Android版本的基本特征、从而设计和构建出能适应这些不同的应用为开端,本书将教授诸多引领你走上成功之路的开发技巧。你将学会在Android系统的不同层面上进行工作,从使用硬件接口(如NFC和USB),到能够指明如何有效地使用移动数据的网络接口,甚至还包括如何利用Google强大的计费接口(billing interface)。几位作者工作的杰出之处在于,他们为书中每个概念都配上了实用的、与现实生活息息相关的代码示例,这些示例可以被轻而易举地构建,并适用于各种各样的情况,使得本书成为一切Android开发者案头必备之书。
——David Brown,圣胡安(San Juan)学区信息数据管理员兼应用程序开发员
清晰易读、通俗易懂,但并非平淡无奇。这是我读过的Android开发领域书籍中最好的作品之一。如果你已经有了一定的基础,那么书中的技巧一定会引领你迈向大师的行列。
——Casey Doolittle,Icon Health and Fitness首席Java开发者
《Android开发秘籍(第2版)》提供了出类拔萃的Android开发基础知识。书中教授了诸如布局、Android生命周期及基于多种多线程技术的响应性等内容,这些都是你成为Android达人所必需的。
——Kendell Fabricius,自由Android开发者
每个人从本书中都能得到需要的东西。我自从1.0版起就从事Android编程,但仍从本书中学到了前所未见的东西。
——Douglas Jones,Fullpower Technologies高级软件工程师
——David Brown,圣胡安(San Juan)学区信息数据管理员兼应用程序开发员
清晰易读、通俗易懂,但并非平淡无奇。这是我读过的Android开发领域书籍中最好的作品之一。如果你已经有了一定的基础,那么书中的技巧一定会引领你迈向大师的行列。
——Casey Doolittle,Icon Health and Fitness首席Java开发者
《Android开发秘籍(第2版)》提供了出类拔萃的Android开发基础知识。书中教授了诸如布局、Android生命周期及基于多种多线程技术的响应性等内容,这些都是你成为Android达人所必需的。
——Kendell Fabricius,自由Android开发者
每个人从本书中都能得到需要的东西。我自从1.0版起就从事Android编程,但仍从本书中学到了前所未见的东西。
——Douglas Jones,Fullpower Technologies高级软件工程师
书摘插画
评论
还没有评论。