Android 4高级编程 第3版【国外译著】 |
![]() | 源码类别: | 安卓开发 | 运费: | 包邮 |
价格: | 98元 | ISBN编号: | 9787302315582 | |
数量: 购物车0 |
目录
第1章 Android简介
1.1 一些背景信息 1.1.1 不远的过去 1.1.2 未来的前景 1.2 对Android的误解 1.3 Android:开放的移动开发平台 1.4 原生Android应用程序 1.5 Android SDK的特征 1.5.1 访问硬件(包括摄像头、GPS和传感器) 1.5.2 使用Wi-Fi、蓝牙技术和NFC进行数据传输 1.5.3 地图、地理编码和基于位置的服务 1.5.4 后台服务 1.5.5 使用SQLite数据库进行数据存储和检索 1.5.6 共享数据和应用程序间通信 1.5.7 使用Widget和Live Wallpaper增强主屏幕 1.5.8 广泛的媒体支持和2D/3D图形 1.5.9 Cloud to Device Messaging 1.5.10 优化的内存和进程管理 1.6 开放手机联盟简介 1.7 运行Android的环境 1.8 从事移动开发的原因 1.9 从事Android开发的原因 1.9.1 推动Android普及的因素 1.9.2 Android的独到之处 1.9.3 改变移动开发格局 1.10 开发框架简介 1.10.1 开发包中的资源 1.10.2 理解Android软件栈 1.10.3 Dalvik虚拟机 1.10.4 Android应用程序架构 1.10.5 Android库 第2章 开始入手 2.1 Android开发 2.1.1 开始前的准备工作 2.1.2 创建第一个Android应用程序 2.1.3 Android应用程序的类型 2.2 面向移动设备和嵌入式设备的开发 2.2.1 硬件限制带来的设计考虑事项 2.2.2 考虑用户环境 2.2.3 Android开发 2.3 Android开发工具 2.3.1 Android虚拟设备管理器 2.3.2 Android SDK管理器 2.3.3 Android模拟器 2.3.4 Dalvik调试监控服务(DDMS) 2.3.5 Android调试桥(ADB) 2.3.6 Hierarchy Viewer和Lint工具 2.3.7 Monkey和Monkey Runner 第3章 创建应用程序和Activity 3.1 Android应用程序的组成部分 3.2 应用程序Manifest文件简介 3.3 使用Manifest编辑器 3.4 分离资源 3.4.1 创建资源 3.4.2 使用资源 3.4.3 为不同的语言和硬件创建资源 3.4.4 运行时配置更改 3.5 Android应用程序生命周期 3.6 理解应用程序的优先级和进程状态 3.7 Android Application类简介 3.7.1 扩展和使用Application类 3.7.2 重写应用程序的生命周期事件 3.8 深入探讨Android Activity 3.8.1 创建Activity 3.8.2 Activity的生存期 3.8.3 Android Activity类 第4章 创建用户界面 4.1 Android UI基本设计 4.2 Android UI的基础知识 4.3 布局简介 4.3.1 定义布局 4.3.2 使用布局创建设备无关的UI 4.3.3 优化布局 4.4 To-Do List示例 4.5 Fragment介绍 4.5.1 创建新的Fragment 4.5.2 Fragment的生命周期 4.5.3 Fragment Manager介绍 4.5.4 向Activity中添加Fragment 4.5.5 Fragment和Activity之间的接口 4.5.6 没有用户界面的Fragment 4.5.7 Android Fragment 类 4.5.8 对To-Do List示例使用Fragment 4.6 Android widget 工具箱 4.7 创建新视图 4.7.1 修改现有的视图 4.7.2 创建复合控件 4.7.3 使用布局创建简单的复合控件 4.7.4 创建定制的视图 4.7.5 使用定制的控件 4.8 Adapter简介 4.8.1 部分原生Adapter简介 4.8.2 定制ArrayAdapter 4.8.3 使用Adapter绑定数据到视图 第5章 Intent和Broadcast Receiver 5.1 Intent简介 5.1.1 使用Intent来启动Activity 5.1.2 Linkify简介 5.1.3 使用Intent广播事件 5.1.4 Local Broadcast Manager 5.1.5 Pending Intent简介 5.2 创建Intent Filter和Broadcast Receiver 5.2.1 使用Intent Filter为隐式Intent提供服务 5.2.2 使用Intent Filter作为插件和扩展 5.2.3 监听本地Broadcast Intent 5.2.4 使用Broadcast Intent监控设备的状态变化 5.2.5 在运行时管理Manifest Receiver 第6章 使用Internet资源 6.1 下载和分析Internet资源 6.1.1 连接Internet资源 6.1.2 使用XML Pull Parser分析XML 6.1.3 创建一个地震查看器 6.2 使用Download Manager 6.2.1 下载文件 6.2.2 自定义Download Manager Notification 6.2.3 指定下载位置 6.2.4 取消和删除下载 6.2.5 查询Download Manager 6.3 使用Internet服务 6.4 连接到Google App Engine 6.5 下载数据而不会耗尽电量的最佳实践 第7章 文件、保存状态和首选项 7.1 保存简单的应用程序数据 7.2 创建并保存Shared Preference 7.3 检索Shared Preference 7.4 为地震查看器创建一个设置 Activity 7.5 首选项框架和Preference Activity概述 7.5.1 在XML中定义一个Preference Screen布局 7.5.2 Preference Fragment简介 7.5.3 使用Preference Header定义Preference Fragment的层次结构 7.5.4 Preference Activity简介 7.5.5 向后兼容性与Preference Screen 7.5.6 找到并使用Preference Screen 设置的Shared Preference 7.5.7 Shared Preference Change Listener简介 7.6 为地震查看器创建一个标准的Preference Activity 7.7 持久化应用程序实例的状态 7.7.1 使用Shared Preference保存Activity状态 7.7.2 使用生命周期处理程序保存和还原Activity实例 7.7.3 使用生命周期处理程序保存和还原Fragment实例状态 7.8 将静态文件作为资源添加 7.9 在文件系统下工作 7.9.1 文件管理工具 7.9.2 使用特定于应用程序的文件夹存储文件 7.9.3 创建私有的应用程序文件 7.9.4 使用应用程序文件缓存 7.9.5 存储公共可读的文件 第8章 数据库和Content Provider 8.1 Android数据库简介 8.1.1 SQLite数据库简介 8.1.2 Content Provider简介 8.2 SQLite简介 8.3 Content Value和Cursor 8.4 使用SQLite数据库 8.4.1 SQLiteOpenHelper简介 8.4.2 在不使用SQLiteOpenHelper的情况下打开和创建数据库 8.4.3 Android数据库设计注意 事项 8.4.4 查询数据库 8.4.5 从Cursor中提取值 8.4.6 添加、更新和删除行 8.5 创建Content Provider 8.5.1 注册Content Provider 8.5.2 发布Content Provider的URI地址 8.5.3 创建Content Provide的数据库 8.5.4 实现Content Provider查询 8.5.5 Content Provider事务 8.5.6 在Content Provider中存储文件 8.5.7 一个Content Provider的实现框架 8.6 使用Content Provider 8.6.1 Content Resolver简介 8.6.2 查询Content Provider 8.6.3 使用Cursor Loader异步查询内容 8.6.4 添加、删除和更新内容 8.6.5 访问Content Provider中存储的文件 8.6.6 创建一个To-Do List数据库和Content Provider 8.7 将搜索功能添加到应用程序中 8.7.1 使Content Provider可搜索 8.7.2 为应用程序创建一个搜索Activity 8.7.3 将搜索Activity设置为应用程序的默认搜索Provider 8.7.4 使用搜索视图微件 8.7.5 由Content Provider支持搜索建议 8.7.6 在快速搜索框中显示搜索结果 8.8 创建可搜索的地震Content Provider 8.8.1 创建Content Provider 8.8.2 使用地震Content Provider 8.8.3 搜索EarthquakeContent Provider 8.9 本地Android Content Provider 8.9.1 使用Media StoreContent Provider 8.9.2 使用Contacts Contract Content Provider 8.9.3 使用Calendar Content Provider 第9章 在后台操作 9.1 Service简介 9.1.1 创建和控制Service 9.1.2 将Service绑定到Activity 9.1.3 地震监控Service示例 9.1.4 创建前台Service 9.2 使用后台线程 9.2.1 使用AsyncTask运行异步任务 9.2.2 Intent Service简介 9.2.3 Loader简介 9.2.4 手动创建线程和GUI线程 同步 9.3 使用Alarm 9.3.1 创建、设置和取消Alarm 9.3.2 设置重复Alarm 9.3.3 使用重复Alarm调度网络刷新 9.4 使用Intent Service简化Earthquake更新Service 第10章 扩展用户体验 10.1 操作栏简介 10.1.1 自定义操作栏 10.1.2 自定义操作栏来控制应用 程序的导航行为 10.1.3 操作栏操作简介 10.2 向地震监控程序添加一个 操作栏 10.3 创建并使用菜单和操作栏 操作项 10.3.1 Android菜单系统简介 10.3.2 创建菜单 10.3.3 指定操作栏的操作 10.3.4 菜单项选项 10.3.5 添加操作View和操作提供 程序 10.3.6 在Fragment中添加菜单项 10.3.7 使用XML定义菜单层次 结构 10.3.8 动态更新菜单项 10.3.9 处理菜单选择 10.3.10 子菜单和上下文菜单简介 10.4 更新地震监控程序 10.5 全屏显示 10.6 对话框简介 10.6.1 创建一个对话框 10.6.2 使用AlertDialog类 10.6.3 使用专门的输入对话框 10.6.4 通过Dialog Fragment管理和 显示对话框 10.6.5 通过Activity事件处理程序 管理和显示对话框 10.6.6 将Activity用作对话框 10.7 创建Toast 10.7.1 自定义Toast 10.7.2 在工作线程中使用Toast 10.8 Notification简介 10.8.1 Notification Manager简介 10.8.2 创建Notification 10.8.3 设置和自定义通知托盘UI 10.8.4 配置持续和连续的 Notification 10.8.5 触发、更新和取消 Notification 10.9 向地震监控程序中添加 Notification和对话框 第11章 高级用户体验 11.1 为每个屏幕尺寸和分辨率做 设计 11.1.1 分辨率无关 11.1.2 为不同的屏幕大小提供支持和 优化 11.1.3 创建可缩放的图形资源 11.1.4 创建优化的、自适应的、 动态的设计 11.1.5 反复测试 11.2 确保可访问性 11.2.1 为非触屏设备提供导航 11.2.2 为每个View提供文本 描述 11.3 Android Text-to-Speech简介 11.4 使用语音识别 11.4.1 使用语音识别进行语音 输入 11.4.2 使用语音识别进行搜索 11.5 控制设备振动 11.6 使用动画 11.6.1 补间View动画 11.6.2 创建和使用逐帧动画 11.6.3 插值属性动画 11.7 强化View 11.7.1 高级Canvas绘图 11.7.2 硬件加速 11.7.3 Surface View简介 11.7.4 创建交互式控件 11.8 高级Drawable资源 11.9 复制、粘贴和剪贴板 11.9.1 向剪贴板中复制数据 11.9.2 粘贴剪贴板数据 第12章 硬件传感器 12.1 使用传感器和传感器 管理器 12.1.1 受支持的Android传感器 12.1.2 虚拟传感器简介 12.1.3 查找传感器 12.1.4 监视传感器 12.1.5 解释传感器值 12.2 监视设备的移动和方向 12.2.1 确定设备的自然方向 12.2.2 加速计简介 12.2.3 检测加速度变化 12.2.4 创建一个重力计 12.2.5 确定设备方向 12.2.6 创建一个指南针和人工 地平仪 12.2.7 陀螺仪传感器简介 12.3 环境传感器简介 12.3.1 使用气压计传感器 12.3.2 创建气象站 第13章 地图、地理编码和基于位置的 服务 13.1 使用基于位置的服务 13.2 在模拟器中使用基于位置的 服务 13.2.1 更新模拟器位置提供器中的 位置 13.2.2 配置模拟器来测试基于位置的 服务 13.3 选择一个位置提供器 13.3.1 查找位置提供器 13.3.2 通过指定条件查找位置 提供器 13.3.3 确定位置提供器的能力 13.4 确定当前位置 13.4.1 位置的隐私性 13.4.2 找出上一次确定的位置 13.4.3 Where Am I示例 13.4.4 刷新当前位置 13.4.5 在Where Am I中跟踪 位置 13.4.6 请求单独一次位置更新 13.5 位置更新的最佳实践 13.6 使用近距离提醒 13.7 使用地理编码器 13.7.1 反向地理编码 13.7.2 前向地理编码 13.7.3 对"Where Am I"示例 进行地理编码 13.8 创建基于地图的Activity 13.8.1 MapView和MapActivity 简介 13.8.2 获得地图的API key 13.8.3 创建一个基于地图的 Activity 13.8.4 地图和Fragment 13.8.5 配置和使用MapView 13.8.6 使用MapController 13.8.7 对"Where Am I"示例使用 地图 13.8.8 创建和使用覆盖(Overlay) 13.8.9 MyLocationOverlay简介 13.8.10 ItemizedOverlay和 OverlayItem简介 13.8.11 将视图固定到地图和地图的 某个位置上 13.9 对Earthquake示例添加地图 功能 第14章 个性化主屏幕 14.1 主屏幕Widget简介 14.2 创建App Widgets 14.2.1 创建Widget的XML 布局资源 14.2.2 定义Widget设置 14.2.3 创建Widget Broadcast Receiver 并将其添加到应用程序的 manifest文件中 14.2.4 AppWidgetManager和 RemoteView简介 14.2.5 刷新Widget 14.2.6 创建并使用Widget配置 Activity 14.3 创建地震Widget 14.4 Collection View Widget简介 14.4.1 创建Collection View Widget的 布局 14.4.2 创建RemoteViewsService 14.4.3 创建一个RemoteViews- Factory 14.4.4 使用RemoteViewsService 填充CollectionViewWidget 14.4.5 向Collection View Widget 中的项添加交互性 14.4.6 将Collection View Widget 绑定到Content Provider 14.4.7 刷新Collection View Widget 14.4.8 创建Earthquake Collection View Widget 14.5 Live Folder简介 14.5.1 创建Live Folder 14.5.2 创建Earthquake Live Folder 14.6 使用快速搜索框显示应用程序 搜索结果 14.6.1 在快速搜索框中显示搜索 结果 14.6.2 将Earthquake示例的搜索 结果添加到快速搜索框中 14.7 创建Live Wallpaper 14.7.1 创建Live Wallpaper定义 资源 14.7.2 创建Wallpaper Service 14.7.3 创建Wallpaper Service 引擎 第15章 音频、视频以及摄像头的 使用 15.1 播放音频和视频 15.1.1 Media Player简介 15.1.2 准备音频播放 15.1.3 准备视频播放 15.1.4 控制Media Player的 播放 15.1.5 管理媒体播放输出 15.1.6 响应音量控制 15.1.7 响应Media播放控件 15.1.8 请求和管理音频焦点 15.1.9 当音频输出改变时暂停 播放 15.1.10 Remote Control Client简介 15.2 操作原始音频 15.2.1 使用AudioRecord录制 声音 15.2.2 使用AudioTrack播放音频 15.3 创建一个Sound Pool 15.4 使用音效 15.5 使用摄像头拍摄照片 15.5.1 使用Intent拍摄照片 15.5.2 直接控制摄像头 15.5.3 读取并写入 JPEG EXIF图像 详细信息 15.6 录制视频 15.6.1 使用Intent录制视频 15.6.2 使用MediaRecorder录制 视频 15.7 使用媒体效果 15.8 向媒体库中添加新媒体 15.8.1 使用媒体扫描仪插入媒体 15.8.2 手动插入媒体 第16章 蓝牙、NFC、网络和Wi-Fi 16.1 使用蓝牙 16.1.1 管理本地蓝牙设备适配器 16.1.2 可发现性和远程设备发现 16.1.3 蓝牙通信 16.2 管理网络和Internet连接 16.2.1 Connectivity Manager简介 16.2.2 支持用户首选项以进行后台 数据传输 16.2.3 查找和监视网络连接 16.3 管理Wi-Fi 16.3.1 监视Wi-Fi连接 16.3.2 监视活动的Wi-Fi连接的 详细信息 16.3.3 扫描热点 16.3.4 管理Wi-Fi配置 16.3.5 创建Wi-Fi网络配置 16.4 使用Wi-Fi Direct传输数据 16.4.1 初始化Wi-Fi Direct框架 16.4.2 启用Wi-Fi Direct并监视其 状态 16.4.3 发现对等设备 16.4.4 连接对等设备 16.4.5 在对等设备之间传输数据 16.5 近场通信 16.5.1 读取NFC标签 16.5.2 使用前台分派系统 16.5.3 Android Beam简介 第17章 电话服务和SMS 17.1 电话服务的硬件支持 17.1.1 将电话功能指定为必需的 硬件功能 17.1.2 检查电话硬件 17.2 使用电话服务 17.2.1 启动电话呼叫 17.2.2 替换本机拨号程序 17.2.3 访问电话服务的属性及状态 17.2.4 使用PhoneStateListener 监视电话状态的变化 17.2.5 使用Intent Receiver监视传入的 电话呼叫 17.3 SMS和MMS简介 17.3.1 在应用程序中使用SMS和 MMS 17.3.2 使用Intent从应用程序中 发送SMS和MMS 17.3.3 使用SMS Manager发送 SMS消息 17.3.4 监听传入的SMS消息 17.3.5 紧急响应程序SMS示例 17.3.6 自动紧急响应程序 17.4 SIP和VOIP简介 第18章 Android高级开发 18.1 Android的安全性 18.1.1 Linux内核安全 18.1.2 权限简介 18.2 Cloud to Device Messaging简介 18.2.1 C2DM的局限性 18.2.2 注册使用C2DM 18.2.3 在C2DM服务器上注册 设备 18.2.4 向设备发送C2DM消息 18.2.5 接收C2DM消息 18.3 使用License Verification Library 实现版权保护 18.3.1 安装License Verification Library 18.3.2 获得License Verification 公钥 18.3.3 配置License Validation Policy 18.3.4 执行许可验证检查 18.4 应用程序内收费 18.4.1 应用程序内收费的局限性 18.4.2 安装IAB库 18.4.3 获得公钥和定义可购买的 物品 18.4.4 开始IAB交易 18.4.5 处理IAB购买请求的响应 18.5 使用Wake Lock 18.6 使用AIDL支持Service的 IPC 18.7 处理不同硬件和软件的可用性 18.7.1 指定硬件的要求 18.7.2 确认硬件可用性 18.7.3 构建向后兼容的应用程序 18.8 利用STRICT模式优化UI 性能 第19章 推广和发布应用程序并从中 获利 19.1 签名和发布应用程序 19.2 发布应用程序 19.2.1 Google Play简介 19.2.2 开始使用Google Play 19.2.3 发布应用程序 19.2.4 开发者控制台上的应用程序 报告 19.2.5 查看应用程序错误报告 19.3 如何通过应用程序赚钱 19.4 应用程序销售、推广和分发的 策略 19.4.1 应用程序的起步策略 19.4.2 在Google Play上推广 19.4.3 国际化 19.5 分析数据和跟踪推荐人 19.5.1 使用移动应用程序的Google Analytics 19.5.2 使用Google Analytics追踪 推荐 ![]()
《Android 4高级编程(第3版)》由Android权威专家编写,涵盖了所有最新的内容,是学习使用Android 4 SDK开发移动应用程序的理想指南。本书见解深刻,帮助经验丰富的Android开发人员充分挖掘Android 4的新特性的潜力,同时讲解了Android开发的基础知识,使初学者也可以借助本书入门。作为一本以实用性为目的的指导图书,本书带领您逐步完成复杂程度越来越高的Android项目,每个项目中都引入一种新的Android平台特性,并着重指出有助于编写引人入胜的应用程序的技术和最佳实践。 |
源码下载地址(注:本站外链的下载地址,出现不能下载请用迅雷、Flashget等专业下载工具试试) |