展开全部

主编推荐语

Android开发进阶指南。

内容简介

《Android开发权威指南(第二版)》是畅销书《Android开发权威指南》的升级版,内容更新超过80%,是一本全面介绍Android应用开发的专著,拥有45章精彩内容供读者学习。
  
《Android开发权威指南(第二版)》全面介绍了Android应用开发的各种技术,主要内容包括Android的四大应用程序组件(Activity、Service、Content Provider和Broadcast Receiver)、布局、菜单、控件、资源和本地化、可视化UI设计、对话框、Toast和通知栏(Notification)、Fragment、ActionBar、拖放技术、数据存储技术、Android支持的各种组件技术、通信技术(蓝牙、NFC、网络等)、异步装载、推送技术、多媒体、2D绘图技术、OpenGL ES、桌面小部件、动态壁纸、短信和彩信、传感器、GPS、谷歌地图、人机交互、输入法开发、Android NDK开发、测试驱动开发、性能优化等。
  
《Android开发权威指南(第二版)》并不局限于介绍Android的各种理论知识,而是从“实战”的角度介绍开发技术。《Android开发权威指南(第二版)》的所有示例都是精心设计的,足以使读者对当前讲解的理论知识驾轻就熟。这些示例中的很多例子都源于真实的项目,读者可以对这些示例的源程序稍加改动就可用于自己的项目中。《Android开发权威指南(第二版)》除了为每一个知识点提供完整的示例外,最后还提供了两个完整的项目:笑脸连连看和NFC侠。这两个项目极具参考价值,尤其是NFC侠,是笔者维护的一个开源项目,用于在不支持NFC的手机或Android模拟器上开发和测试NFC应用。读者可以关注我的Blog(http://blog.csdn.net/nokiaguy)来获得NFC侠以及本书的最新信息。
  
《Android开发权威指南(第二版)》适合有一定Java基础的读者阅读,如果读者已经掌握了Java的基本语法,那么《Android开发权威指南(第二版)》将会成为您的首选和枕边书,您将从书中获得更多有价值的Android开发技术。

目录

  • 版权信息
  • 内容提要
  • 前言
  • 第1章 初识Android平台
  • 1.1 Android简介
  • 1.2 Android的制胜法宝
  • 1.3 Android的版本发展历程
  • 1.3.1 Android 1.5(纸杯蛋糕)
  • 1.3.2 Android 1.6(甜甜圈)
  • 1.3.3 Android 2.1(松饼)
  • 1.3.4 Android 2.2(冻酸奶)
  • 1.3.5 Android 2.3(姜饼)
  • 1.3.6 Android 3.0(蜂巢)
  • 1.3.7 Android 4.0(冰激凌三明治)
  • 1.3.8 Android 4.1/4.2(果冻豆)
  • 1.4 Android的系统架构
  • 1.5 小结
  • 第2章 搭建Android开发和测试环境
  • 2.1 搭建Android开发环境需要些什么
  • 2.2 安装Java开发环境
  • 2.2.1 安装JDK
  • 2.2.2 安装和配置Eclipse
  • 2.3 安装Android开发环境
  • 2.3.1 下载和安装Android SDK
  • 2.3.2 下载和安装Android NDK
  • 2.3.3 安装和配置Eclipse插件:ADT
  • 2.4 配置Android测试环境
  • 2.4.1 建立Android虚拟设备(AVD)
  • 2.4.2 启动Android模拟器
  • 2.4.3 安装真机测试环境
  • 2.5 小结
  • 第3章 第一个Android应用程序
  • 3.1 从第一个Android程序中可以学到什么
  • 3.2 建立Android工程
  • 3.3 Android工程的结构
  • 3.4 在窗口上放两个按钮
  • 3.5 编写窗口类
  • 3.6 修改字符串资源
  • 3.7 运行Android应用程序
  • 3.8 调试Android应用程序
  • 3.9 签名Android应用程序
  • 3.10 小结
  • 第4章 Android应用程序架构
  • 4.1 Android应用程序中的资源
  • 4.1.1 资源存放在哪里
  • 4.1.2 资源的基本使用方法
  • 4.2 Android的应用程序组件
  • 4.2.1 窗口(Activity)组件
  • 4.2.2 服务(Service)组件
  • 4.2.3 广播接收者(Broadcast receivers)组件
  • 4.2.4 内容提供者(Content Provider)组件
  • 4.3 AndroidManifest.xml文件的结构
  • 4.4 小结
  • 第5章 窗口(Activity)与视图(View)
  • 5.1 声明和使用Activity
  • 5.1.1 Activity的基本用法
  • 5.1.2 同时适合手机和平板电脑的窗口风格
  • 5.2 Activity的生命周期
  • 5.3 窗口的常用事件
  • 5.3.1 设置窗口标题事件(onTitleChanged)
  • 5.3.2 键盘按下和抬起事件(onKeyDown和onKeyUp)
  • 5.3.3 任意情况下捕捉键盘事件(dispatchKeyEvent)
  • 5.3.4 回退事件(onBackPressed)
  • 5.3.5 按键长按事件(onKeyLongPress)
  • 5.3.6 屏幕触摸事件(onTouchEvent)
  • 5.3.7 窗口获得焦点事件(onWindowFocusChanged)
  • 5.4 在不同Activity之间传递数据
  • 5.4.1 使用Intent传递数据
  • 5.4.2 使用静态变量传递数据
  • 5.4.3 使用剪贴板传递数据
  • 5.4.4 使用全局对象传递数据
  • 5.5 从Activity返回数据
  • 5.6 视图(View)
  • 5.6.1 视图简介
  • 5.6.2 使用XML布局文件定义视图
  • 5.6.3 在代码中控制视图
  • 5.7 显示系统窗口
  • 5.7.1 直接拨号
  • 5.7.2 将电话号传入拨号程序
  • 5.7.3 调用拨号程序
  • 5.7.4 浏览网页
  • 5.7.5 查看联系人
  • 5.7.6 显示系统设置界面(设置主界面、Wi-Fi设置界面)
  • 5.7.7 启动处理音频的程序
  • 5.7.8 回到Home窗口(相当于按Home键)
  • 5.8 与Activity相关的技巧与特效
  • 5.8.1 全屏显示(隐藏标题栏和状态栏)
  • 5.8.2 定制窗口标题栏
  • 5.8.3 为程序添加Splash
  • 5.8.4 改变窗口大小、位置和透明度
  • 5.8.5 按两次关闭窗口
  • 5.8.6 关闭所有的窗口
  • 5.8.7 窗口截屏
  • 5.9 小结
  • 第6章 Intent与Intent Filter
  • 6.1 Android系统的信使:Intent
  • 6.2 Intent对象
  • 6.2.1 Intent对象可以封装和传递哪些信息
  • 6.2.2 组件名(Component name)
  • 6.2.3 动作(Action)
  • 6.2.4 种类(Category)
  • 6.2.5 数据(Data)
  • 6.2.6 附加数据(Extra)
  • 6.2.7 标志(Flags)
  • 6.3 显式和隐式访问窗口
  • 6.4 跨应用程序访问窗口
  • 6.5 Android系统的过滤机制大揭秘
  • 6.5.1 过滤条件的设置
  • 6.5.2 过滤器的筛选规则
  • 6.5.3 示例:过滤机制应用演示
  • 6.6 Android源代码与过滤器
  • 6.6.1 系统内置程序有哪些窗口可以利用
  • 6.6.2 显示计算器(Calculator)
  • 6.6.3 用浏览器(Browser)显示网页
  • 6.6.4 拨打电话(Phone)与授权
  • 6.7 获取第三方程序中可调用的窗口
  • 6.8 传递附加数据(Extra)
  • 6.9 解析数据
  • 6.10 小结
  • 第7章 窗口(Activity)高级技术
  • 7.1 Activity XML属性详解
  • 7.1.1 设置Activity的基本信息
  • 7.1.2 屏幕方向切换(android:screenOrientation)
  • 7.1.3 阻止Activity销毁和重建(android:configChanges)
  • 7.1.4 允许Activity被实例化(android:enabled)
  • 7.1.5 在最近应用列表中显示(android:excludeFromRecents)
  • 7.1.6 允许其他程序访问当前窗口(android:exported)
  • 7.1.7 硬件加速(android:hardwareAccelerated)
  • 7.1.8 在多进程中创建窗口实例(android:multiprocess)
  • 7.1.9 无法返回的Activity(android:noHistory)
  • 7.1.10 指定要返回的窗口(android:parentActivityName)
  • 7.1.11 使窗口受到权限的保护(android:permission)
  • 7.1.12 改变窗口所在的进程(android:process)
  • 7.1.13 不保存窗口的状态(android:stateNotNeeded)
  • 7.1.14 窗口的主题(android:theme)
  • 7.1.15 扩展窗口UI(android:uiOptions)
  • 7.1.16 设置输入法显示模式(android:windowSoftInputMode)
  • 7.2 深入探索Activity从创建到销毁的过程
  • 7.2.1 任务(Task)与回退栈(Back Stack)
  • 7.2.2 保存窗口(Activity)状态
  • 7.2.3 管理任务和回退栈
  • 7.2.4 Activity的4种创建模式
  • 7.2.5 用Java代码设置窗口创建模式
  • 7.2.6 窗口的乾坤大挪移(affinity)
  • 7.2.7 销毁不再使用的窗口
  • 7.3 Activity的别名
  • 7.4 小结
  • 第8章 布局
  • 8.1 Android的五大布局
  • 8.1.1 框架布局(FrameLayout)
  • 8.1.2 线性布局(LinearLayout)
  • 8.1.3 相对布局(RelativeLayout)
  • 8.1.4 表格布局(TableLayout)
  • 8.1.5 绝对布局(AbsoluteLayout)
  • 8.2 属性资源与Android命名空间
  • 8.3 布局属性
  • 8.4 布局高级技术
  • 8.4.1 布局别名
  • 8.4.2 重用布局
  • 8.4.3 优化布局
  • 8.4.4 动态装载布局
  • 8.4.5 动态设置布局属性
  • 8.4.6 从右到左布局(RTL Layout)
  • 8.5 小结
  • 第9章 菜单
  • 9.1 菜单的基本用法
  • 9.1.1 创建选项菜单(Options Menu)
  • 9.1.2 关联Activity
  • 9.1.3 响应菜单的单击动作
  • 9.1.4 动态添加、修改和删除选项菜单
  • 9.1.5 带复选框和选项按钮的子菜单
  • 9.1.6 上下文菜单
  • 9.1.7 菜单事件
  • 9.1.8 从菜单资源中装载菜单
  • 9.2 菜单特效
  • 9.2.1 自定义菜单
  • 9.2.2 模拟UCWeb菜单效果
  • 9.3 小结
  • 第10章 Android的资源详解(一)
  • 10.1 创建资源
  • 10.1.1 手工创建资源文件
  • 10.1.2 用ADT模板创建本地化图标资源
  • 10.1.3 用ADT模板创建XML文件资源
  • 10.2 使用资源
  • 10.2.1 生成资源类文件(R.java)
  • 10.2.2 从XML文件中访问资源
  • 10.2.3 使用Java代码访问资源
  • 10.2.4 Java反射技术与枚举资源
  • 10.3 字符串(String)资源
  • 10.3.1 普通字符串
  • 10.3.2 字符串数组
  • 10.3.3 复数字符串
  • 10.3.4 在字符串中使用引号
  • 10.3.5 用占位符格式化字符串
  • 10.3.6 用HTML标签格式化字符串资源
  • 10.4 值(values)资源
  • 10.4.1 整数(Integer)资源
  • 10.4.2 尺寸(Dimension)资源
  • 10.4.3 布尔(Boolean)资源
  • 10.4.4 颜色(Color)资源
  • 10.4.5 ID资源
  • 10.4.6 整数数组(Integer-Array)资源
  • 10.4.7 类型数组(Typed-Array)资源
  • 10.5 菜单(menu)资源
  • 10.6 图像(drawable)资源
  • 10.6.1 普通图像资源
  • 10.6.2 XML图像资源
  • 10.6.3 Nine-Patch图像资源
  • 10.6.4 XML Nine-Patch图像资源
  • 10.6.5 图层(Layer)资源
  • 10.6.6 图像状态(State)资源
  • 10.6.7 图像级别(Level)资源
  • 10.6.8 淡入淡出(Cross-fade)资源
  • 10.6.9 嵌入(Inset)图像资源
  • 10.6.10 剪切(Clip)图像资源
  • 10.6.11 外形(Shape)资源
  • 10.7 小结
  • 第11章 Android的资源详解(二)
  • 11.1 动画资源
  • 11.1.1 属性(Property)动画
  • 11.1.2 帧(Frame)动画
  • 11.1.3 移动补间(TranslateTween)动画
  • 11.1.4 循环向右移动的EditText与上下弹跳的球
  • 11.1.5 缩放补间(Scale Tween)动画
  • 11.1.6 跳动的心
  • 11.1.7 旋转补间(Rotate Tween)动画
  • 11.1.8 旋转的星系
  • 11.1.9 透明度补间(Alpha Tween)动画
  • 11.1.10 投掷炸弹
  • 11.1.11 震动渲染器(Shake Interpolator)
  • 11.1.12 自定义渲染器(Interpolator)
  • 11.2 风格(Style)资源与主题(Theme)
  • 11.3 小结
  • 第12章 资源的本地化
  • 12.1 建立本地化的资源目录
  • 12.2 资源目录的命名规则
  • 12.3 建立别名资源
  • 12.3.1 图像别名资源
  • 12.3.2 布局别名资源
  • 12.3.3 字符串别名资源
  • 12.3.4 其他简单值别名资源
  • 12.4 资源目录的优先级
  • 12.5 屏幕适配
  • 12.5.1 屏幕适配要考虑的因素
  • 12.5.2 适配不同屏幕可以采用的规则
  • 12.5.3 屏幕尺寸和屏幕密度
  • 12.5.4 位置、尺寸和字体应使用屏幕密度单位
  • 12.5.5 与屏幕适配有关的标识符
  • 12.5.6 影响屏幕适配的重要因素:布局和图像
  • 12.5.7 典型的屏幕适配案例
  • 12.5.8 在Google Play上限制屏幕尺寸和屏幕密度
  • 12.5.9 在Android模拟器上测试各种屏幕尺寸和密度
  • 12.6 小结
  • 第13章 Android的控件详解(一)
  • 13.1 显示文本的控件(TextView)
  • 13.1.1 显示富文本(URL、不同大小、字体、颜色的文本)
  • 13.1.2 用<img>标签在TextView控件上显示图像
  • 13.1.3 单击链接弹出Activity
  • 13.1.4 为指定文本添加背景
  • 13.2 编辑文本的控件(EditText)
  • 13.2.1 像QQ一样输入表情图像
  • 13.2.2 在EditText中输入特定的字符
  • 13.2.3 AutoCompleteTextView(自动完成输入内容的控件)
  • 13.3 按钮(Button)和复选框(Checkbox)控件
  • 13.3.1 Button(普通按钮控件)
  • 13.3.2 图文混排的按钮
  • 13.3.3 ImageButton(图像按钮控件)
  • 13.3.4 RadioButton(选项按钮控件)
  • 13.3.5 ToggleButton(开关状态按钮控件)
  • 13.3.6 CheckBox(复选框控件)
  • 13.4 图像控件(ImageView)
  • 13.4.1 ImageView控件的基本用法
  • 13.4.2 显示指定区域的图像
  • 13.4.3 缩放和旋转图像
  • 13.5 时间与日期控件
  • 13.5.1 DatePicker(输入日期的控件)
  • 13.5.2 TimePicker(输入时间的控件)
  • 13.5.3 DatePicker、TimePicker与TextView同步显示日期和时间
  • 13.5.4 AnalogClock和DigitalClock(显示时钟的控件)
  • 13.6 小结
  • 第14章 Android的控件详解(二)
  • 14.1 进度条控件
  • 14.1.1 ProgressBar(进度条控件)
  • 14.1.2 SeekBar(拖动条控件)
  • 14.1.3 设置ProgressBar和SeekBar的颜色及背景图
  • 14.1.4 RatingBar(评分控件)
  • 14.2 列表控件
  • 14.2.1 ListView(普通列表控件)
  • 14.2.2 为ListView列表项添加复选框和选项按钮
  • 14.2.3 对列表项进行增、删、改操作
  • 14.2.4 改变列表项的背景色
  • 14.2.5 ListActivity(封装ListView的Activity)
  • 14.2.6 ExpandableListView(可扩展的列表控件)
  • 14.2.7 Spinner(下拉列表控件)
  • 14.3 GridView(网格控件)
  • 14.4 TabHost(标签控件)
  • 14.5 ViewStub(惰性装载控件)
  • 14.6 小结
  • 第15章 可视化UI设计
  • 15.1 拖放控件
  • 15.2 设置视图属性
  • 15.3 预览各种屏幕尺寸
  • 15.4 语言和地区的本地化测试
  • 15.5 其他可视化功能
  • 15.6 小结
  • 第16章 对话框、Toast与通知栏(Notification)
  • 16.1 对话框
  • 16.1.1 带2个按钮(确认/取消)的对话框
  • 16.1.2 带3个按钮(覆盖/忽略/取消)的对话框
  • 16.1.3 简单列表对话框
  • 16.1.4 单选列表对话框
  • 16.1.5 多选列表对话框
  • 16.1.6 进度对话框
  • 16.1.7 登录对话框
  • 16.1.8 使用Activity托管对话框
  • 16.2 Toast
  • 16.3 通知(Notification)
  • 16.3.1 在状态栏上显示通知信息
  • 16.3.2 永久存在的Notification
  • 16.3.3 自定义Notification
  • 16.4 小结
  • 第17章 封装UI和代码利器——Fragment
  • 17.1 Fragment简介
  • 17.2 什么时候使用Fragment
  • 17.3 按照Fragment设计原则编写程序
  • 17.4 Fragment的生命周期
  • 17.5 创建Fragment
  • 17.5.1 通过XML布局文件创建Fragment
  • 17.5.2 通过Java代码创建Fragment
  • 17.5.3 创建无UI的Fragment
  • 17.5.4 在低版本Android中使用Fragment(Support Library)
  • 17.6 Activity与Fragment之间的交互
  • 17.6.1 Fragment与Activity之间的交互
  • 17.6.2 Fragment的回调机制
  • 17.7 Fragment状态的持久化
  • 17.8 Fragment与回退栈(导航)
  • 17.9 FragmentManager与FragmentTransaction
  • 17.9.1 管理Fragment事务
  • 17.9.2 查找Fragment
  • 17.9.3 跟踪回退栈状态
  • 17.9.4 恢复历史状态
  • 17.9.5 管理Fragment的状态
  • 17.9.6 添加、删除和替换Fragment
  • 17.9.7 分离(Detach)与附加(Attach)Fragment
  • 17.9.8 显示和隐藏Fragment
  • 17.10 Fragment扩展
  • 17.10.1 ListFragment
  • 17.10.2 DialogFragment
  • 17.10.3 其他Fragment扩展类
  • 17.11 Fragment模板源代码分析
  • 17.12 小结
  • 第18章 动作栏——ActionBar
  • 18.1 ActionBar简介
  • 18.2 ActionBar基础
  • 18.2.1 隐藏/显示ActionBar
  • 18.2.2 添加和响应Action按钮
  • 18.3 可上下两分的ActionBar
  • 18.4 应用程序图标导航
  • 18.5 收缩和展开Action View
  • 18.6 ActionProvider
  • 18.6.1 分享信息(ShareActionProvider)
  • 18.6.2 定制ActionProvider
  • 18.7 导航标签
  • 18.8 下拉导航列表
  • 18.9 小结
  • 第19章 Android的拖放技术
  • 19.1 Android中的拖放操作
  • 19.2 拖放状态与拖放处理
  • 19.3 拖动阴影
  • 19.4 示例:拖动复制图像
  • 19.5 小结
  • 第20章 数据存储解决方案
  • 20.1 读写key-value对:SharedPreferences
  • 20.2 文件流操作
  • 20.2.1 openFileOutput和openFileInput方法
  • 20.2.2 读写SD卡中的文件
  • 20.3 读写JSON格式的数据
  • 20.4 SQLite数据库
  • 20.4.1 SQLite数据库管理工具
  • 20.4.2 SQLiteOpenHelper类与自动升级数据库
  • 20.4.3 数据绑定与SimpleCursorAdapter类
  • 20.4.4 操作SD卡上的数据库
  • 20.4.5 将数据库与应用程序一起发布
  • 20.4.6 内存数据库
  • 20.5 小结
  • 第21章 内容提供者(Content Provider)
  • 21.1 Content Provider的作用
  • 21.2 获得系统数据
  • 21.2.1 读取联系人信息
  • 21.2.2 查看收件箱的短信
  • 21.3 自定义Content Provider
  • 21.3.1 查询城市信息
  • 21.3.2 为Content Provider添加访问权限
  • 21.4 如何查找系统提供的Content Provider
  • 21.5 小结
  • 第22章 广播接收器(Broadcast Receiver)
  • 22.1 什么是广播
  • 22.2 接收系统广播
  • 22.2.1 短信拦截
  • 22.2.2 用代码注册广播接收器
  • 22.2.3 广播接收器的优先级
  • 22.2.4 来去电拦截
  • 22.2.5 截获屏幕休眠与唤醒
  • 22.2.6 开机自动运行
  • 22.2.7 显示手机电池的当前电量
  • 22.3 发送广播
  • 22.4 小结
  • 第23章 服务(Service)
  • 23.1 Service基础
  • 23.1.1 Service的生命周期
  • 23.1.2 开机启动Service
  • 23.2 跨进程访问(AIDL服务)
  • 23.2.1 什么是AIDL服务
  • 23.2.2 建立AIDL服务的步骤
  • 23.2.3 创建和调用AIDL服务
  • 23.2.4 传递复杂数据的AIDL服务
  • 23.2.5 AIDL与来去电自动挂断
  • 23.3 小结
  • 第24章 Android的组件开发
  • 24.1 Android支持哪些组件开发方式
  • 24.2 引用jar文件
  • 24.3 跨工程引用
  • 24.4 引用NDK Library
  • 24.5 动态引用APK文件
  • 24.6 动静结合的组件
  • 24.7 脚本类型组件(JavaScript)与WebView控件
  • 24.8 如何确定动态组件是否安装
  • 24.9 升级动态组件
  • 24.10 小结
  • 第25章 Android的蓝牙开发技术
  • 25.1 蓝牙简介
  • 25.2 打开和关闭蓝牙设备
  • 25.3 搜索蓝牙设备
  • 25.4 蓝牙数据传输
  • 25.5 蓝牙通信一定需要UUID吗
  • 25.6 小结
  • 第26章 近距离天线通信——NFC技术
  • 26.1 NFC简介
  • 26.2 NFC、蓝牙和红外之间的差异
  • 26.3 NFC技术的未来前景
  • 26.4 Android中的NFC技术
  • 26.4.1 NDEF与非NDEF数据
  • 26.4.2 NFC的三重过滤机制
  • 26.4.3 开启Android的NFC功能
  • 26.4.4 编写NFC程序的基本步骤
  • 26.5 测试NFC程序需要的设备
  • 26.6 让Android手机自动运行程序
  • 26.6.1 向NFC标签写入数据的基本步骤
  • 26.6.2 向NFC标签写入启动Android应用程序的消息
  • 26.7 让Android手机自动打开网页
  • 26.8 读写NFC标签中的文本
  • 26.8.1 实现读写文本数据应用的基本思路
  • 26.8.2 如何将NFC标签变成NDEF文本格式
  • 26.8.3 NDEF文本格式解析
  • 26.8.4 实现读写文本数据的Android应用程序
  • 26.9 读写NFC标签中的Uri
  • 26.9.1 NDEF Uri格式解析
  • 26.9.2 实现读写Uri的Android应用程序
  • 26.10 利用NFC标签支持的数据格式进行过滤
  • 26.11 处理任意NFC标签
  • 26.12 读写非NDEF格式的数据
  • 26.13 Android Beam技术与数据交互
  • 26.13.1 传递NDEF消息
  • 26.13.2 传输文件
  • 26.14 小结
  • 第27章 Android的网络开发技术
  • 27.1 提交HTTP GET和HTTP POST请求
  • 27.2 HttpURLConnection类
  • 27.3 上传文件
  • 27.4 下载管理(DownloadManager)
  • 27.5 Wi-Fi Direct
  • 27.5.1 Wi-Fi Direct API的核心部分
  • 27.5.2 创建监听Wi-Fi Direct动作的广播接收器
  • 27.5.3 注册广播接收器
  • 27.5.4 发现Wi-Fi Direct设备
  • 27.5.5 连接Wi-Fi Direct设备
  • 27.5.6 数据传输
  • 27.6 Internet电话(SIP)
  • 27.6.1 使用SIP的要求和限制
  • 27.6.2 配置Android版SIP电话
  • 27.6.3 创建SipManager
  • 27.6.4 注册SIP服务器
  • 27.6.5 开始打电话
  • 27.6.6 接听电话
  • 27.7 小结
  • 第28章 并发与定时器
  • 28.1 Handler
  • 28.1.1 更新UI
  • 28.1.2 延迟执行
  • 28.2 定时器
  • 28.2.1 单秒循环的定时器:Chronometer
  • 28.2.2 任意时间间隔的定时器:Timer
  • 28.2.3 全局定时器:AlarmManager
  • 28.3 AsyncTask
  • 28.4 小结
  • 第29章 异步装载(Loader)
  • 29.1 Loader简介
  • 29.2 Loader的核心类/接口
  • 29.3 如何使用Loader
  • 29.3.1 创建/重用Loader
  • 29.3.2 遗弃旧的数据
  • 29.3.3 LoaderManager与方法回调
  • 29.3.4 创建Loader对象(onCreateLoader)
  • 29.3.5 完成数据装载(onLoadFinished)
  • 29.3.6 Loader被重置(onLoaderReset)
  • 29.4 异步装载联系人(CursorLoader的应用)
  • 29.5 小结
  • 第30章 Android推送技术
  • 30.1 IOS的推送方案
  • 30.2 Windows Phone的推送方案
  • 30.3 Android的推送方案
  • 30.4 第三方推送服务:极光推送
  • 30.5 自己搭建推送服务器:AndroidPN
  • 30.6 小结
  • 第31章 Android的多媒体开发技术
  • 31.1 音频
  • 31.1.1 音频播放
  • 31.1.2 录制音频
  • 31.2 视频
  • 31.2.1 播放视频
  • 31.2.2 录制视频
  • 31.3 相机
  • 31.3.1 调用系统的拍照功能
  • 31.3.2 自定义拍照功能
  • 31.4 铃声
  • 31.5 小结
  • 第32章 Android的2D绘图
  • 32.1 绘制基本的图形
  • 32.1.1 绘制像素点
  • 32.1.2 绘制直线
  • 32.1.3 绘制圆形
  • 32.1.4 绘制圆弧
  • 32.1.5 绘制文本
  • 32.1.6示例:绘制基本的图形和文本
  • 32.2 绘制位图
  • 32.2.1 绘制Bitmap对象
  • 32.2.2 使用Drawable.draw方法绘制位图
  • 32.2.3 示例:用两种方式绘制位图
  • 32.3 设置图像的透明度
  • 32.4 旋转图像
  • 32.5 小结
  • 第33章 3D绘图之OpenGL ES
  • 33.1 OpenGL ES简介
  • 33.2 在3D空间中绘图
  • 33.2.1 要绘制3D图形了,第一步要做什么
  • 33.2.2 定义顶点
  • 33.2.3 绘制三角形
  • 33.2.4 三角形合并法绘制矩形
  • 33.2.5 顶点法绘制矩形
  • 33.2.6 顶点的选取顺序
  • 33.2.7 索引法绘制矩形
  • 33.2.8 基于OpenGL ES的动画原理
  • 33.2.9 旋转的矩形
  • 33.3 视图
  • 33.3.1 有趣的比喻:照相机拍照
  • 33.3.2 模型变换:立方体旋转
  • 33.3.3 用gluLookAt方法变换视图
  • 33.4 颜色
  • 33.5 小结
  • 第34章 Android的桌面上的“尤物”
  • 34.1 窗口小部件(App Widget)
  • 34.1.1 在Android桌面上添加App Widget
  • 34.1.2 开发App Widget的步骤
  • 34.1.3 数字时钟
  • 34.1.4 AppWidgetProvider类
  • 34.1.5向App Widget添加配置窗口
  • 34.1.6 可以选择风格的数字时钟
  • 34.2 动态壁纸(随机变换的圆圈)
  • 34.3 小结
  • 第35章 Android中的短信(SMS)与彩信(MMS)开发技术
  • 35.1 通过系统程序发短信
  • 35.2 直接发送短信
  • 35.3 保存短信发送记录
  • 35.4 监听短信和彩信
  • 35.5 显示视频缩略图
  • 35.6 彩信内容与SMIL协议
  • 35.7 小结
  • 第36章 Android的传感器开发技术
  • 36.1 如何使用传感器
  • 36.2 加速度传感器(Accelerometer)
  • 36.3 重力传感器(Gravity)
  • 36.4 光线传感器(Light)
  • 36.5 陀螺仪传感器(Gyroscope)
  • 36.5 方向传感器(Orientation)
  • 36.6 其他传感器
  • 36.7 小结
  • 第37章 Android的全球定位系统(GPS)
  • 37.1 GPS的核心API
  • 37.2 获取位置提供者(LocationProvider)
  • 37.2.1 获取所有可用的LocationProvider
  • 37.2.2 根据名称获取LocationProvider
  • 37.2.3 根据条件(Criteria)获取LocationProvider
  • 37.3 实时获取GPS定位数据
  • 37.4 测量地球上任意两点之间的距离
  • 37.5 邻近警告
  • 37.6 小结
  • 第38章 谷歌地图(Google Map) 开发应用
  • 38.1 Google Map的跨平台解决方案:Maps JavaScript API v3
  • 38.2 Google Map的显示与定位
  • 38.3 在Google Map上插入图像标志
  • 38.4 插入多个图像标志
  • 38.5 带阴影的位置坐标信息
  • 38.6 地图与Java交互
  • 38.7 小结
  • 第39章 Android中的人机交互设计
  • 39.1 手势(Gesture)
  • 39.1.1 创建手势文件
  • 39.1.2 通过手势输入字符串
  • 39.1.3 通过手势调用程序
  • 39.1.4 编写自己的手势创建器
  • 39.2 多点触摸与放大/缩小操作
  • 39.3 语音识别
  • 39.4 让手机说话(TTS)
  • 39.5 小结
  • 第40章 Android中的输入法开发
  • 40.1 Android输入法简介
  • 40.2 控制输入法
  • 40.3 输入法实战
  • 40.3.1 实现输入法的步骤
  • 40.3.2 编写输入法程序
  • 40.3.3 输入法服务的生命周期
  • 40.3.4 预输入文本
  • 40.3.5 输入法设置
  • 40.4 小结
  • 第41章 Android NDK开发
  • 41.1 Android NDK简介
  • 41.2 安装、配置和测试NDK开发环境
  • 41.2.1 系统和软件要求
  • 41.2.2 下载和安装Android NDK
  • 41.2.3 下载和安装Cygwin
  • 41.2.4 配置Android NDK的开发环境
  • 41.3 利用NDK Samples学习NDK开发
  • 41.3.1 编译NDK Samples
  • 41.3.2 NDK程序的结构与命名规则
  • 41.4 Android NDK配置文件详解
  • 41.4.1 Android NDK定义的变量
  • 41.4.2 Android NDK定义的函数
  • 41.4.3 描述模块的变量
  • 41.4.4 配置Application.mk文件
  • 41.5 第一个NDK示例:字母的大小写转换
  • 41.5.1 编写NDK程序
  • 41.5.2 编写调用NDK函数的Java程序
  • 41.5.3 在Eclipse中开发和编译NDK程序
  • 41.6 NDK程序读取Java字段值
  • 41.7 小结
  • 第42章 Android的测试 驱动开发(TDD)
  • 42.1 JUnit测试框架
  • 42.2 测试Activity
  • 42.3 测试Content Provider
  • 42.4 测试Service
  • 42.5 测试普通类
  • 42.6 小结
  • 第43章 Android应用的性能优化
  • 43.1 性能优化的基础知识
  • 43.2 编写Java程序的最优化原则
  • 43.2.1 用静态工厂方法代替构造方法
  • 43.2.2 避免创建重复的对象
  • 43.2.3 防止内存泄漏
  • 43.2.4 返回零长度的集合而不是null
  • 43.2.5 通过接口引用对象
  • 43.3 避免ANR
  • 43.4 执行时间测试
  • 43.5 内存消耗测试
  • 43.6 测试性能的工具:traceview
  • 43.7 小结
  • 第44章 游戏项目实战:笑脸连连看
  • 44.1 游戏玩法
  • 44.2 准备图像素材
  • 44.3 实现主界面
  • 44.4 随机生成连连看图像
  • 44.5 选中两个相同图像后消失
  • 44.6 用定时器限制游戏时间
  • 44.7 小结
  • 第45章 开源项目实战: NFC侠(NFCMan)
  • 45.1 什么是NFCMan
  • 45.2 用Android模拟器和非NFC设备测试NFC应用
  • 45.3 NFCMan的实现原理
  • 45.4 实现服务端程序(NFCMan)
  • 45.4.1 可视化SWT开发环境
  • 45.4.2 创建NFC标签
  • 45.4.3 描述虚拟NFC标签的NFCTag类
  • 45.4.4 保证虚拟NFC标签的全局唯一
  • 45.4.5 显示与保存虚拟NFC标签
  • 45.4.6 装载已经存在的虚拟NFC标签
  • 45.4.7 开启服务
  • 45.4.8 处理客户端请求
  • 45.4.9 保证虚拟Android设备全局唯一
  • 45.4.10 描述虚拟Android设备
  • 45.4.11 添加虚拟Android设备
  • 45.4.12 异常处理机制
  • 45.5 客户端与服务端之间的数据管道(NFCManService)
  • 45.5.1 与NFCMan交互(Socket方式)
  • 45.5.2 与ANFCMan交互(广播方式)
  • 45.6 客户端Library(ANFCMan)
  • 45.6.1 ANFCMan的数据结构和异常类
  • 45.6.2 ANFCMan的入口类
  • 45.6.3 模拟检测到NFC标签的广播接收器
  • 45.6.4 同时处理物理NFC标签和虚拟NFC标签的窗口
  • 45.7 测试ANFCMan(TestANFCMan)
  • 45.8 小结
展开全部

评分及书评

评分不足
1个评分
  • 用户头像
    给这本书评了
    5.0

    本书并不局限于介绍 Android 的各种理论知识,而是从 “实战” 的角度介绍开发技术。本书的所有示例都是精心设计的,足以使读者对当前讲解的理论知识驾轻就熟。这些示例中的很多例子都源于真实的项目,读者可以对这些示例的源程序稍加改动就可用于自己的项目中。本书除了为每一个知识点提供完整的示例外,最后还提供了两个完整的项目:笑脸连连看和 NFC 侠。

      转发
      评论

    出版方

    人民邮电出版社

    人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。