Android系统原理及开发要点详解
第1章 Android系统概述
第2章 Android系统开发综述
第3章 Android的Linux内核与驱动程序
第4章 Android的底层库和程序
第5章 Android的Java虚拟机和Java环境
第6章 Android的GUI系统
第7章 Android的Audio系统
第8章 Android的Video输入输出系统
第9章 Android的多媒体系统
第10章 Android的电话部分
第11章 Android的连接部分
第12章 Android的传感器系统
第13章 Android应用程序概述及框架
第14章 Android应用程序的主要方面
第15章 Android应用程序的设计思想
Android应用开发揭秘
前言
第一部分 准备篇
第1章 Android开发简介
1.1 Android基本概念
1.1.1 Android简介
1.1.2 Android的系统构架
1.1.3 Android应用程序框架
1.2 OMS介绍
1.2.1 OPhone介绍
1.2.2 Widget介绍
1.3 小结
第2章 Android开发环境搭建
2.1 Android开发准备工作
2.2 开发包及其工具的安装和配置
2.2.1 安装JDK和配置Java开发环境
2.2.2 Eclipse的安装与汉化
2.2.3 SDK和ADT的安装和配置
2.3 创建第一个Android项目——HeUoAndroid
2.3.1 创建HelloAndroid项目
2.3.2 运行HelloAndroid及模拟器的使用
2.3.3 调试HelloAndroid
2.4 小结
第二部分 基础篇
第3章 Android程序设计基础
3.1 Android程序框架
3.1.1 Android项目目录结构
3.1.2 Android应用解析
3.2 Android的生命周期
3.3 Android程序U设计
3.4 小结
第4章 用户界面开发
4.1 用户界面开发详解
4.1.1 用户界面简介
4.1.2 事件处理
4.2 常用控件应用
4.2.1 文本框(Textiew)
4.2.2 列表(ListView)
4.2.3 提示(T0ast)
4.2.4 编辑框(EditText)
4.2.5 单项选择(RadioGroup、RadioButton
4.2.6 多项选择(CheckBox)
4.2.7 下拉列表(Spinner)
4.2.8 自动提示(AutoComplete.TextⅥew)
4.2.9 日期和时间(DatePicker、TimePicker)
4.2.10 按钮(Button)
4.2.1l 菜单(Menu)
4.2.12 对话框(Dialog)
4.2.13 图片视图(ImageView)
4.2.14 带图标的按钮(ImageButton)
4.2.15 拖动效果(Gallery)
4.2.16 切换图片(hmgeSwilcher)
4.2.17 网格视图(GridView)
4.2.18 卷轴视图(ScrollView)
4.2.19 进度条(ProgressBar)
4.2.20 拖动条(SeekBar)
4.2.21 状态栏提示(Notification、NotificationManager)
4.2.22 对话框中的进度条(ProgressDialog)
4.3 界面布局
4.3.1 垂直线性布局
4.3.2 水平线性布局
4.3.3.相对布局(RelativeLayout)
4.3.4 表单布局(TableLayout)
4.3.5 切换卡(TabWidget)
4,4 小结
第5章 Android游戏开发
5.1 Android游戏开发框架
5.1.1 View类开发框架
5.1.2 SurfaceView类开发框架
5.2 Graphics类开发
5.5.1 Paint和Color类介绍
5.2.2 Canvas类介绍
5.2.3 几何图形绘制
5.2.4 字符串绘制
5.2.5 图像绘制
5.2.6 图像旋转
5.2.7 图像缩放
5.2.8 图像像素操作
5.2.9 Shader类介绍
5.2.10 双缓冲技术
5.2.11 全屏显示
5.2.12 获得屏幕属性
5.3 动画实现
5.3.1 Tween动画
5.3.2 Frame动画
5.3.3 GIF动画播放
5.4 小结
第6章 Android数据存储
6.1 Android数据存储初探
6.2 数据存储之Shared Preferences
6.3 数据存储之Files
6.4 数据存储之Network
6.5 Android数据库编程
6.5.1 SQLite简介
6.5.2 SQLite编程详解
6.5.3 SQLiteOpenHelper应用
6.6 数据共享(ContentProviders)
6.7 小结
第7章 多媒体开发
7.1 多媒体开发详解
7.1.1 Open Core
7.1.2 MediaPlayer
7.1.3 MediaRecorder
7.2 播放音乐
7.3 播放视频
7.4 录制歌曲
7.5 相机设置
7.6 闹钟设置
7.7 铃声设置
7.8 小结
第8章 网络与通信
8.1 网络通信基础
8.1.1 无线网络技术
8.1.2 Android网络基础
8.2 HTTP通信
8.2.1 HttpURLConnection接口
8.2.2 HttpClient接口
8.2.3 实时更新
8.3 Socket通信
8.3.1 Socket基础
8.3.2 Socket应用(简易聊天室)
8.4 网络通信的中文乱码问题
8.5 WebKit应用
8.5.1 WebKjt概述
8.5.2 WebView浏览网页
8.5.3 WebView与Javascript
8.6 WtFi介绍
8.7 蓝牙
8.8 小结
第9章 Android特色开发
9.1 传感器
9.2 语音识别
9.3 GoogleMap
9.3.1 GoogleMap概述
9.3.2 准备工作
9.3.3 GoogleMapAPI的使用
9.3.4 定位系统
9.4 桌面组件
9.4.1 快捷方式
9.4.2 实时文件夹
9.4.3 Widget开发
9.5 账户管理
9.6 小结
第三部分 实例篇
第10章 Android应用开发实例
10.1 情境模式
10.2 文件管理器
10.3 通讯录
10.4 音乐播放器
10.5 天气预报
10.6 个人地图
10.7 Widget日历
10.8 小结
第11章 Android游戏开发实例
11.1 手机游戏开发简介
11.2 游戏框架设计
11.3 地图设计
11.4 主角设计
11.5 图层管理器
11.6 游戏音效
11.7 游戏存档
11.8 小结
第四部分 高级篇
第12章 AndroidOpenGL开发基础
12.1 OpenGL简介
12.2 多边形
12.3 颜色
12.4 旋转
12.5 3D 空间
12.6 纹理映射
12.7 光照和事件
12.8 混合
12.9 小结
第13章 AndroidOpenGL综合应用
13.1 移动图像
13.2.3D 世界
13.3 飘动的旗帜
13.4 显示列表
13.5 雾
13.6 粒子系统
13.7 蒙版
13.8 变形
13.9 小结
第14章 游戏引擎实现
14.1 游戏引擎介绍
14.1.1 什么是引擎
14.1.2 引擎的进化
14.1.3 常见的游戏引擎
14.1.4 Android游戏引擎
14.2 游戏引擎结构
14.2.1 游戏引擎原理
14.2.2 游戏引擎定位
14.2.3 游戏引擎框架
14.3 游戏引擎设计
14.3.1 游戏引擎结构和功能设计
14.3.2 游戏引擎设计注意事项
14.4 游戏引擎实现
14.4.1 Activity类实现
14.4.2 流程控制和线程
14.4.3 游戏对象与对象管理
14.4.4 图形引擎
14.4.5 物理引擎
14.4.6 事件模块
14.4.7 工具模块
14.4.8 脚本引擎、音效模块、网络模块
14.5 小结
第15章 优化技术
15.1 优化的基本知识
15.1.1 如何书写出优秀代码
15.1.2 编程规范
15.2 程序性能测试
15.2.1 计算性能测试
15.2.2 内存消耗测试
15.3 初级优化
15.4 高级优化
15.5 Android高效开发
15.6 AndroidUI优化
15.7 其他优化
15.7.1 zipalign
15.7.2 图片优化
15.8 小结
第五部分 扩展篇
第16章 Android NDK开发
16.1 AndroidNDK简介
16.2 安装和配置NDK开发环境
16.2.1 系统和软件需求
16.2.2 NDK开发环境搭建
16.2.3 编译第一个NDK程序
16.3 AndroidNDK开发
16.3.1 JNI接口设计
16.3.2 使用C/C++实现本地方法
16.3.3 Android.mk实现
16.3.4 Application.mk实现
16.3.5 编译C/C++代码
16.4 AndroidNDK中使用0penGL
16.5小结
第17章 Android脚本环境
17.1 Android脚本环境简介
17.2 Android脚本环境安装
17.3 如何编写Android脚本程序
17.4 小结
Google Android SDK开发范例大全(第2版)
第1章 了解、深入、动手做
1.1 红透半边天的Android
1.2 本书目的及范例涵盖范围
1.3 如何阅读本书
1.4 使用本书范例
1.5 参考网站
第2章 Android初体验
2.1 安装Android SDK与ADT/DDMS
2.2 创建第一个Android项目(Hello Android!)
2.3 Android应用程序架构——从此开始
2.4 可视化的界面开发工具
2.5 部署应用程序到Android手机
第3章 用户人机界面
3.1 更改与显示文字标签
3.2 更改手机窗口画面底色
3.3 更改TextView文字颜色
3.4 置换TextView文字
3.5 取得手机屏幕大小
3.6 样式化的定型对象
3.7 简易的按钮事件
3.8 手机页面的转换
3.9 调用另一个Activity
3.10 不同Activity之间的数据传递
3.11 返回数据到前一个Activity
3.12 具有交互功能的对话框
3.13 置换文字颜色的机关
3.14 控制不同的文字字体
3.15 如iPhone拖动相片特效
3.16 自制计算器
3.17 关于(About)程序信息
3.18 程序加载中,请稍候
3.19 全屏幕以按钮重写
3.20 今晚到哪儿打牙祭
3.21 Android变脸
3.22 打勾显示输入的密码
3.23 Android多语系支持
第4章 史上超豪华的手机控件
4.1 EditText与TextView共舞
4.2 设计具有背景图的按钮
4.3 给圣诞老人的信息
4.4 我同意条款
4.5 消费券采购列表
4.6 向左或向右
4.7 专业相框设计
4.8 自定义下拉菜单模式
4.9 动态添加/删除的Spinner菜单
4.10 心爱小宝贝相片集
4.11 快速地搜索手机文件引擎
4.12 按钮也能随单击变换
4.13 具自动提示功能的菜单
4.14 数字及模拟小时钟设计
4.15 动态输入日期与时间
4.16 猜猜红桃A在哪儿
4.17 后台程序运行进度提示
4.18 动态文字排版
4.19 在Activity里显示列表
4.20 以动态列表配置选项
4.21 查找程序根目录下所有文件
4.22 加载手机磁盘里的图片文件
4.23 动态放大缩小ImageView里的图片
4.24 动态旋转图片
4.25 猜猜我在想什么
4.26 离开与关闭程序的弹出窗口
4.27 隐藏式抽屉
4.28 手机桌面上的小玩意
4.29 手机图片搜索管理器
4.30 实时配置桌面上的AppWidget UI Layout
第5章 交互式通信服务与手机控制
5.1 具有正则表达式的TextView
5.2 ACTION!CALL!拨打电话
5.3 自制发送短信程序
5.4 自制发送E-mail程序
5.5 自制日历手机数据库
5.6 手机震动的节奏
5.7 图文可视化提醒
5.8 状态栏的图标与文字提醒
5.9 搜索手机通讯录自动完成
5.10 取得联系人资料
5.11 制作有图标的文件资源管理器
5.12 还原手机默认桌面
5.13 置换手机背景图
5.14 获取手机现存桌面
5.15 文件资源管理器再进化
5.16 取得目前File与Cache的路径
5.17 打开/关闭WiFi服务
5.18 取得SIM卡内的信息
5.19 调用拨号按钮
5.20 DPAD按键处理
5.21 任务管理器正在运行的程序
5.22 动态更改屏幕方向
5.23 系统设置更改事件
5.24 取得电信网络与手机的相关信息
5.25 建立自己的手写笔画图案
第6章 手机自动服务纪实
6.1 您有一条短信pop up提醒
6.2 手机电池计量还剩多少
6.3 群发拜年短信给联系人
6.4 开始与停止系统服务
6.5 通过短信发送E-mail通知
6.6 手机拨接状态
6.7 有来电,发送邮件通知
6.8 存储卡剩余多少容量
6.9 访问本机内存与存储卡
6.10 实现可定时响起的闹钟
6.11 黑名单来电自动静音
6.12 手机翻背面即静音震动
6.13 指定时间置换桌面背景
6.14 判断发送短信后的状态
6.15 后台服务送出广播信息
6.16 开机程序设计
6.17 双向短信常驻服务
6.18 测量电池温度
6.19 电池电量显示Widget小工具
6.20 取出通讯录数据及多组电话号码
6.21 电子精确罗盘
6.22 屏幕手写事件判断
6.23 画一颗心,打电话给HONEY
第7章 娱乐多媒体
7.1 访问Drawable资源的宽和高
7.2 绘制几何图形
7.3 手机屏幕保护程序
7.4 用手指移动画面里的照片
7.5 加载存储卡的Gallery相簿
7.6 取得手机内置媒体中的图片文件
7.7 相片导航向导与设置背景桌面
7.8 调整音量大小
7.9 播放mp3资源文件
7.10 播放存储卡里的mp3音乐
7.11 自制录音/播放录音程序
7.12 通过收到短信开始秘密录音
7.13 内置影片播放器载入3gp电影
7.14 自制3gp影片播放器
7.15 相机预览及拍照临时文件
7.16 拍照瞬间启动相机自动对焦
7.17 制作开场动画
7.18 我的手机会说话
7.19 手势触控屏幕控制
7.20 多点触控屏幕事件捕捉
第8章 当Android与Internet接轨
8.1 HTTP GET/POST传递参数
8.2 在程序里浏览网页
8.3 嵌入HTML标记的程序
8.4 设计前往打开网页功能
8.5 将网络图像网址放入Gallery中显示
8.6 即时访问网络图片文件展示
8.7 手机气象局,实时卫星云图
8.8 通过网络播放mp3
8.9 设置远程下载音乐为手机铃声
8.10 远程下载桌面背景图案
8.11 将手机文件上传至网站服务器
8.12 移动博客发布器
8.13 移动RSS阅读器
8.14 远程下载安装Android程序
8.15 手机下载看3gp影片
8.16 访问网站Login API
8.17 地震速报
8.18 通过Web API动态更改手机Spinner控件
8.19 网络语音搜索
8.20 网络下载过程中显示加载中
8.21 快照WebView加载的网页画面
8.22 网页的放大与缩小
第9章 Google服务与Android完美整合
9.1 Google账号验证Token
9.2 Google搜索
9.3 前端产生QR Code二维条形码
9.4 以经纬度查找目的地位置
9.5 GPS Google地图
9.6 移动版Google Map
9.7 规划导航路径
9.8 移动设备上的Picasa相册
9.9 随身翻译机
第10章 创意Android程序设计
10.1 手机手电筒
10.2 GPS轨迹记录器
10.3 女性贴身看护
10.4 手机QR Code二维条形码生成器
10.5 Android QR Code二维条形码扫描仪
10.6 上班族今天中午要吃什么
10.7 掷杯筊
10.8 电蚊香
10.9 转转轮盘——Lucky!
10.10 任务管理器
10.11 免费的云端发音字典
10.12 动起来!手机桌面上会动的动态桌布
附录 如何发布程序到Android Market
A.1 支付Google Android Market注册费
A.2 生成签署凭证 .keystore金钥档案
A.3 上传*.apk程序到Android Market上
Google Android开发入门指南(第2版)(附光盘)
第1篇 入门篇
第1章 初探Android
1.1 Android是什么
1.2 Android简史
1.3 从创意开始
1.4 参考资料
第2章 安装Android开发工具
2.1 系统需求
2.1.1 操作系统
2.1.2 必要开发工具
2.1.3 其他开发环境工具(非必要安装)
2.2 安装流程
2.3 参考资料
第3章 打开现有项目
3.1 打开项目
3.2 删除项目
3.3 导入项目
3.4 修复项目
3.5 修改对应的目标版本
3.6 参考资料
第4章 操作Android模拟器(Emulator)
4.1 设置环境参数
4.2 设置Android模拟器
4.3 使用命令行工具管理模拟器
4.3.1 列出模拟器类型
4.3.2 创建模拟器
4.3.3 列出已创建的模拟器
4.4 使用运行(Run)模式运行
4.5 操作Android模拟器
4.5.1 切换模拟器布局
4.5.2 切换屏幕
4.5.3 添加模拟器外观设置
4.5.4 删除模拟器外观设置
4.5.5 移除程序
4.5.6 移除模拟器
4.6 参考资料
第5章 创建一个Android应用程序
5.1 创建新项目
5.2 程序项目架构
5.2.1 src/:源代码(source)目录
5.2.2 gen/:自动生成(Generate)目录
5.2.3 res/:资源(Resource)目录
5.2.4 Android功能列表
5.2.5 “Android版本号/”参考函数目录
5.3 参考资料
第2篇 基础篇
第6章 描述用户界面
6.1 身高体重指数(BMI)计算
6.2 表达用户界面
6.3 参考资源
第7章 设计用户界面
7.1 视图(View)
7.2 查阅文件
7.2.1 线上文件
7.2.2 脱机文件
7.3 开始设计
7.4 整合
7.5 指定输入类型(InputType)
7.6 视觉化的界面开发工具
7.7 参考资料
第8章 访问标识符号
8.1 android:id属性
8.2 XML说明文件与R.java资源文件
8.3 将字符串抽离XML
8.4 新增XML文件
8.5 参考资料
第9章 解读程序流程
9.1 基础程序逻辑结构
9.2 参考函数库
9.3 参考资料
第10章 完成BMI程序
10.1 完整的程序
10.2 程序解读
第3篇 提高篇
第11章 重构程序
11.1 什么是重构
11.2 重新查看BMI应用程序
11.3 MVC模式
11.4 重构BMI应用程序
11.5 完整的Bmi.java程序 代码
11.6 参考资料
第12章 添加对话框(Dialog)
12.1 设计对话框
12.2 定义调用点
12.3 实体对话框
12.4 重构
12.5 添加按钮
12.6 Toast界面组件
12.7 错误处理
12.7.1 讲解
12.7.2 提取字符串
12.8 参考资料
第13章 查看线上内容(Uri)
13.1 打开网页
13.1.1 讲解
13.1.2 使用Uri查看Google地图
13.2 再做好一点(重构)
13.2.1 提取字符串
13.2.2 避免出错
13.3 参考资料
第14章 添加菜单(Menu)
14.1 菜单功能
14.2 创建菜单
14.2.1 装饰选项
14.2.2 使用内置的菜单图标
14.3 处理选项动作
14.4 参考资料
第15章 定义Android列表(Manifest)
15.1 Android框架
15.2 预设的Activity列表
15.3 参考资料
第16章 添加新活动(Activity)
16.1 Activity的分类
16.2 独立的Activity
16.3 程序中创建新的Activity类文件
16.4 在列表中添加Activity代码
16.5 手动添加Activity标签
16.6 修改页面标题文字
16.7 原Activity类中添加startActivity函数
第17章 传送数据到新意图(Intent)
17.1 使用Intent传递数据
17.2 使用Intent接收信息
17.2.1 相关工作
17.2.2 在Activity中解开信息
17.2.3 讲解
17.3 不通过Bundle交换信息
第18章 信息提醒(Notification)
18.1 状态栏提醒
18.2 使用状态栏(Notification Bar)传递信息
18.3 使用内置的状态图标
18.4 参考资料
第19章 日志与调试(Log)
19.1 在程序中加上调试信息
19.2 导入Log函数
19.3 实际应用
19.3.1 讲解
19.3.2 其他的记录标记方式
19.3.3 延伸使用
19.4 在调试环境中查看除错信息
19.4.1 启动模拟器
19.4.2 切换到查错环境配置
19.4.3 添加信息日志过滤器(Log Filter)
19.5 模拟器上的调试设置
19.6 管理日志
19.7 在实机上调试
19.8 参考资料
第20章 活动的生命周期LifeCycle
20.1 生命周期
20.2 进程
20.3 为什么要了解生命周期?
20.4 Activity的状态
20.4.1 Active(活动)
20.4.2 Paused(暂停)
20.4.3 Stopped(停止)
20.4.4 Dead(已回收或未启动)
20.5 系统内存不足时的行为
20.6 观察Activity运行流程
20.7 Activity运行流程
20.7.1 一般启动
20.7.2 调用另一个Activity
20.7.3 返回原Activity
20.7.4 退出结束
20.7.5 回收后再启动
20.8 参考资料
第21章 优先级(Preference)
21.1 使用优先级设置
21.2 保存优先级设置
21.3 参考资料
第22章 开发不息
22.1 回顾BMI应用程序
22.2 BMI应用程序设计的缺陷
22.3 展望未来
第4篇 融会贯通篇
第23章 显性设计
23.1 做出容易使用的应用程序
23.2 设计的减法
23.3 规划应用程序的目标
23.4 创建新项目
23.4.1 XML说明文件
23.4.2 文字字符串文件
23.4.3 程序代码
第24章 支持多国语言
24.1 抽取文本文件
24.2 让中文、英文多个语言界面并存
24.3 切换语言
24.3.1 设置中切换语系
24.3.2 程序中切换语言
24.4 参考资料
第25章 针对特性配置(Orientation)
25.1 配置资料夹的命名规则
25.1.1 屏幕方向
25.1.2 触控类型(Touc-hscreen type)
25.1.3 文字输入方式(text input)
25.1.4 浏览方式(navig-ation method)
25.1.5 屏幕分辨率
25.2 Android手机配置实例
25.3 指定屏幕方向
25.3.1 配置文件中指定屏幕方向
25.3.2 程序中指定屏幕方向
25.4 参考资料
第26章 使用接口(Adapter)
26.1 接口的概念
26.2 数组接口(Array Adapter)与字符串数组
26.3 数组字符串资源文件
26.4 参考资料
第27章 添加下拉菜单组件(Spinner)
27.1 修改XML说明文件
27.2 添加程序
27.3 记录所选择的优先级
27.4 参考资料
第28章 签发应用程序密钥(Keytools)
28.1 检查列表
28.2 手动导出应用程序
28.3 产生密钥
28.4 签署密钥
28.5 验证密钥
28.6 安装到模拟器
28.7 发布应用程序
28.8 参考资料
第29章 发布到Android Market
29.1 Android Market的运作方式
29.2 注册Android Market
29.3 上传应用程序到Android Market
29.4 查看成果——查看管理界面
29.5 自行提供程序在线下载
29.6 发布到第三方Android应用程序下载网站
29.7 针对用户作设计
29.8 参考资料
第5篇 数据库应用
第30章 添加列表活动(ListActivity)
30.1 分析记事本程序
30.2 创建新项目
30.3 修改程序代码
30.3.1 讲解
30.3.2 自定义ListView组件
30.3.3 自定义空列表显示内容
30.4 参考内置范例
30.5 参考资料
第31章 使用数据库(SQLite)
31.1 SQLite数据库简介
31.2 查看模拟器目录
31.3 手动创建“SQLite”数据库
31.4 创建数据表(table)
31.5 验证
31.5.1 离开SQLite互动模式
31.5.2 重新打开SQLite数据库
31.6 让Android模拟器通过Proxy上网
31.6.1 查询数据
31.6.2 添加数据
31.6.3 确认数据
31.6.4 更新数据
31.6.5 删除数据
31.7 参考资料
第32章 访问数据表(SQLite OpenHelper)
32.1 SQLiteOpenHelper
32.2 对NotesDbAdapter类加工
32.3 使用NotesDb Adapter类
32.3.1 讲解
32.3.2 验证
32.4 添加查询
32.5 完整的程序
32.6 参考资料
第33章 添加增删改查操作(CRUD)
33.1 检索(Retrieve)
33.1.1 讲解
33.1.2 验证
33.2 添加(Create)
33.2.1 讲解
33.2.2 验证
33.3 删除
33.4 查询单条记录、修改
33.5 参考资料
第34章 添加相依的活动(Activity ForResult)
34.1 定义XML说明文件
34.2 添加编辑类
34.3 将新Activity添加列表
34.4 打开编辑页面
34.5 完整的程序
34.6 参考资料
第35章 添加长按菜单(ContextMenu)
35.1 添加长按菜单框架
35.2 填入菜单内容
35.3 后续改进
35.4 参考资料
第6篇 地图与定位应用
第36章 申请Google地图服务(API Key)
36.1 取得地点坐标
36.2 取得Google地图开发密钥(API Key)
36.2.1 调试用密钥(debug keystore)的位置
36.2.2 取得MD5指纹信息
36.3 参考资料
第37章 使用地图(MapView)
37.1 Google地图的组成元素
37.2 创建新项目
37.3 定义列表
37.4 定义XML资源文件
37.5 产生地图
37.6 直接用程序定义界面组件
37.7 控制地图
37.8 添加缩放图标
37.8.1 修改XML说明文件
37.8.2 加上缩放控制(Zoom Controls)
37.9 新版的改进
37.10 参考资料
第38章 添加按键控制(KeyEvent)
38.1 添加菜单
38.2 添加按键控制
38.3 控制缩放范围
38.4 参考文件
第39章 获取现在位置(GPS/基站三角定位)
39.1 创建新项目
39.2 添加使用权限(uses-permission)
39.3 定义LocationListener界面
39.4 使用定位服务管理器(locationManager)来获取现在位置
39.4.1 讲解
39.4.2 自动判断最佳定位服务来源
39.5 更新地点(Location Updates)
39.6 在模拟器中切换地点
39.7 完整的程序
39.8 参考资料
第40章 结合地图与定位功能(My LocationOverlay)
40.1 添加定位层(MyLocation Overlay)
40.2 参考资料
第41章 为地图标上地标(Itemized Overlay)
41.1 设置图标层(Itemized Overlay)
41.2 添加图标层
41.3 地图开发备忘列表
41.4 参考资料
后记
附录A 如何取得范例源代码
Android基础教程
第一部分 Android简介
第1章 快速入门
1.1 安装工具
1.1.1 Java 5.0+
1.1.2 Eclipse
1.1.3 Android
1.1.4 Eclipse插件
1.2 创建第一个程序
1.3 在模拟器上运行程序
1.4 在手机上运行程序
1.5 快速阅读指南
第2章 基本概念
2.1 Android的系统架构
2.1.1 Linux内核
2.1.2 本机库
2.1.3 Android运行时
2.1.4 应用程序框架
2.1.5 应用程序
2.2 它还活着
2.2.1 进程不等于应用程序
2.2.2 应用程序生命周期
2.3 构建块
2.3.1 活动
2.3.2 意图
2.3.3 服务
2.3.4 内容提供者
2.4 使用资源
2.5 安全性
2.6 快速阅读指南
第二部分 Android基础知识
第3章 设计用户界面
3.1 数独游戏简介
3.2 声明性设计
3.3 创建启动界面
3.4 使用替代资源
3.5 实现About对话框
3.6 应用主题
3.7 添加菜单
3.8 添加设置
3.9 开始新游戏
3.10 利用日志消息调试程序
3.11 利用调试器调试程序
3.12 退出游戏
3.13 快速阅读指南
第4章 绘制2D图形
4.1 Android图形基础
4.1.1 Color类
4.1.2 Paint类
4.1.3 Canvas类
4.1.4 Path类
4.1.5 Drawable类
4.2 在Sudoku程序中添加图形
4.2.1 开始游戏
4.2.2 定义Game类
4.2.3 定义PuzzleView类
4.2.4 绘制游戏盘面
4.2.5 绘制数字
4.3 处理输入
4.3.1 定义和更新选定区域
4.3.2 输入数字
4.3.3 增加提示
4.3.4 抖动屏幕
4.4 其他问题
4.4.1 创建软键盘
4.4.2 实现游戏逻辑
4.4.3 其他功能
4.5 更多改进
4.6 快速阅读指南
第5章 多媒体
5.1 播放音频
5.2 播放视频
5.3 为数独游戏配上音乐
5.4 快速阅读指南
第6章 存储本地数据
6.1 为数独游戏添加选项
6.2 继续玩前一个游戏
6.3 记住当前位置
6.4 访问内部文件系统
6.5 访问SD卡
6.6 快速阅读指南
第三部分 高级主题
第7章 互联的世界
7.1 通过意图实现浏览
7.2 利用视图打开网页
7.3 JavaScript与Java通信
7.4 使用Web服务
7.5 快速阅读指南
第8章 定位与环境感知
8.1 位置,位置,位置
8.1.1 我在哪里
8.1.2 更新位置
8.1.3 模拟说明
8.2 充分利用传感器
8.2.1 了解传感器
8.2.2 解析传感器的读数
8.2.3 模拟说明
8.3 地图功能
8.3.1 嵌入MapView
8.3.2 准备就绪
8.3.3 模拟说明
8.4 快速阅读指南
第9章 SQL实战
9.1 SQLite简介
9.2 SQL基础
9.2.1 DDL语句
9.2.2 修改语句
9.2.3 查询语句
9.3 你好,数据库
9.3.1 使用SQliteOpenHelper
9.3.2 定义主程序
9.3.3 添加一行
9.3.4 运行一个查询
9.3.5 显示查询结果
9.4 数据绑定
9.5 使用ContentProvider
9.5.1 更改主程序
9.5.2 添加一行
9.5.3 运行一个查询
9.6 实现ContentProvider
9.7 快速阅读指南
第10章 利用OpenGL实现3D图形
10.1 理解3D图形
10.2 OpenGL简介
10.3 构建一个OpenGL程序
10.4 管理线程
10.5 构建一个模型
10.6 光线、相机
10.7 动作
10.8 应用纹理
10.9 透明效果
10.10 快速阅读指南
第四部分 附录
附录A Java与Android语言及其API
附录B 参考书目
Android应用开发详解
第一篇 基础篇
第1章 Android概述
1.1 Android的前世今生
1.1.1 Android的产生
1.1.2 Android的发展
1.2 Android的平台架构及特性
1.2.1 Android平台特性
1.2.2 Android平台架构
1.3 Android Market
1.4 Android应用程序组件
1.4.1 Activity
1.4.2 Service
1.4.3 Broadcast Receiver
1.4.4 ContentProvider
1.4.5 View
1.4.6 Intent
1.5 Android与Java ME的区别与联系
1.5.1 二者的区别
1.5.2 二者的联系
1.5.3 各自的优势
第2章 Android开发基础
2.1 Android开发环境的搭建
2.1.1 下载Android SDK
2.1.2 下载安装JDK
2.1.3 下载Eclipse
2.1.4 下载安装ADT
2.2 Android常用工具的使用
2.2.1 创建Android Virtual Devices(AVD)
2.2.2 模拟器(Emulator)的使用
2.2.3 Android Debug Bridge(ADB)的使用
2.2.4 Dalvik Debug Monitor Service(DDMS)的使用
2.2.5 Android Asset Packaging Tool(AAPT)的使用
2.2.6 DX的使用
2.2.7 mksdcard的使用
2.3 我的第一个Android应用
2.3.1 纯手工创建一个Android应用
2.3.2 使用Eclipse创建一个Android应用
第二篇 技术篇
第3章 Android中的资源访问
3.1 资源简介
3.1.1 资源的类型和布局
3.1.2 资源文件的使用
3.2 使用颜色(color)资源
3.2.1 颜色值定义
3.2.2 颜色资源XML文件的定义
3.2.3 使用颜色资源
3.3 使用字符串(string)资源
3.3.1 字符串资源XML文件的定义
3.3.2 字符串资源XML文件的使用
3.4 使用尺寸(dimen)资源
3.4.1 Android中支持的尺寸单位
3.4.2 尺寸资源XML文件的定义
3.4.3 尺寸资源XML文件的使用
3.5 使用原始XML资源
3.5.1 原始XML资源文件的定义
3.5.2 原始XML文件的使用
3.6 使用drawables资源
3.7 使用布局(layout)资源
3.7.1 布局文件的定义
3.7.2 布局文件的使用
3.8 使用菜单(menu)资源
3.8.1 菜单资源文件的定义
3.8.2 菜单资源文件的使用
第4章 Android用户界面
4.1 菜单
4.1.1 选项菜单(Option Menu)
4.1.2 上下文菜单(Context Menu)
4.1.3 子菜单(Sub Menu)
4.2 对话框
4.3 提示信息(Toast)
4.4 事件处理
4.4.1 事件处理机制
4.4.2 Android中的事件监听器
4.4.3 事件处理步骤
4.5 布局管理(Layout)
4.5.1 线性布局
4.5.2 帧布局
4.5.3 表格布局
4.5.4 相对布局
4.5.5 绝对布局
4.6 组件(Widget)
4.6.1 常用组件
4.6.2 自动完成文本框(AutoCompleteTextView)
4.6.3 选项卡(Tab)
4.6.4 进度条(ProgressBar)
4.6.5 日期、时间选择对话框(DataPickerDialog、TimePickerDialog)
4.6.6 列表视图(ListView)
4.6.7 网格视图(GridView)
4.6.8 画廊视图(Gallery)
4.6.9 地图视图(MapView)
4.6.10 网络视图(WebView)
第5章 Android基本程序单元Activity
5.1 何谓回调
5.2 Activity简介
5.2.1 Activity的创建
5.2.2 启动另一个Activity
5.2.3 Activity之间传递数据
5.2.4 启动另一个Activity并返回结果
5.3 Activity的生命周期
第6章 Android组件之间的信使Intent
6.1 Intent对象及其属性
6.1.1 Intent的ComponentName属性
6.1.2 Intent的Action属性
6.1.3 Intent的Data属性
6.1.4 Intent的Category属性
6.1.5 Intent的Extras属性
6.2 系统标准Activity Action应用
6.2.1 和打电话相关的标准Activity Action应用
6.2.2 访问浏览器和地图
6.2.3 发邮件
6.3 Intent的实现策略
第7章 Android Service组件
7.1 Service简介
7.1.1 创建一个Service
7.1.2 启动和停止Service
7.1.3 绑定一个已经存在的Service
7.1.4 Service实例演示
7.2 远程Service调用
7.2.1 创建一个AIDL文件
7.2.2 实现AIDL文件生成的Java接口
7.2.3 将你的接口暴露给客户端
7.2.4 客户端调用
第8章 Android广播事件处理 Broadcast Receiver
8.1 自己定义Broadcast Receiver来处理广播事件
8.2 系统广播事件的使用
8.3 Notification和NotificationManager的使用
8.3.1 Notification和NotificationManager简介
8.3.2 通知实例演示
8.4 AlarmManager的使用
第9章 Android中的数据存取
9.1 Preference
9.1.1 Preference简介
9.1.2 Preference应用实例——保存临时短信
9.2 File
9.3 SQLite
9.3.1 SQLiteDatabase
9.3.2 SQLiteOpenHelper
9.3.3 SQLite应用实例——收藏管理
第10章 Content Provider
10.1 Content Provider简介
10.1.1 Content Provider的常用方法
10.1.2 ContentResolver
10.1.3 URI
10.1.4 查询系统ContentProvider内容
10.1.5 添加系统ContentProvider内容
10.1.6 添加系统ContentProvider图片内容
10.2 自定义ContentProvider
10.2.1 创建ContentProvider的步骤
10.2.2 ContentProvider实例
第11章 Android中的多媒体应用
11.1 音频及视频播放
11.1.1 从源文件中播放
11.1.2 从文件系统中播放
11.1.3 从网络中播放
11.2 迷你音乐播放器
11.3 迷你视频播放器
11.4 音视频的录制
11.5 Camera照相
第12章 Android中的图形图像
12.1 在Android中访问图片
12.1.1 使用图片文件创建Drawable对象
12.1.2 使用XML文件定义Drawable属性
12.1.3 Bitmap和BitmapFactory
12.2 Android中的动画
12.2.1 Tween动画
12.2.2 Frame动画
12.3 动态图形绘制
12.3.1 动态图形绘制的基本思路
12.3.2 动态图形绘制类简介
12.3.3 绘制几何图形
12.4 图形特效
12.4.1 使用Matrix实现旋转、缩放和平移
12.4.2 使用Shader类渲染图形
第13章 Android中的互联网应用
13.1 通过Socket、ServerSocket进行网络编程
13.1.1 Socket、ServerSocket编程模型
13.1.2 Socket编程实例
13.2 通过URL进行网络编程
13.3 通过HTTP进行网络编程
13.3.1 使用HttpURLConnection
13.3.2 使用Apache HTTP客户端
13.4 通过Web Service进行网络编程
13.5 直接使用WebView视图组件显示网页
13.5.1 使用WebView打开网页
13.5.2 使用WebView加载HTML
第14章 Android中的GPS应用
14.1 LocationManager和LocationProvider简介
14.1.1 LocationManager
14.1.2 LocationProvider
14.2 通过模拟器测试位置服务
14.3 获得LocationProvider
14.3.1 通过名称获得LocationProvider
14.3.2 获得当前可利用的LocationProvider
14.3.3 根据Criteria条件获得LocationProvider
14.4 定位和跟踪
14.4.1 定位
14.4.2 跟踪
14.5 趋近警告
14.6 Geocoder正逆向编解码
14.6.1 正向编码
14.6.2 反向编码
第三篇 应用篇
第15章 Android应用案例——移动警务通
15.1 移动警务通需求分析
15.2 移动警务通总体设计
15.2.1 系统架构
15.2.2 技术选型
15.2.3 系统功能
15.3 移动警务通详细设计
15.3.1 系统包及其资源规划
15.3.2 Activity界面规划及其程序执行流程
15.3.3 系统数据库设计
15.4 系统编码实现
15.4.1 登录模块Android客户端实现
15.4.2 登录模块服务器端实现
15.4.3 程序主菜单实现
15.4.4 信息查询子菜单实现
15.4.5 在逃人员查询模块客户端实现
15.4.6 在逃人员查询模块服务器端实现
15.4.7 信息采集子菜单实现
15.4.8 机动车违章信息采集Android客户端实现
15.4.9 机动车违章信息采集服务器端实现
15.4.10 文件上传子菜单实现
15.4.11 现场照片上传Android客户端实现
15.4.12 现场照片上传服务器端实现
15.4.13 GPS定位功能子菜单实现
15.4.14 GPS定位“我的位置”的实现
15.4.15 GPS定位“按坐标查询”的实现
15.4.16 GPS定位“按地址查询”的实现
第16章 Android应用案例——雷电游戏
16.1 Android游戏开发基本框架
16.1.1 Android游戏开发基础
16.1.2 Android游戏开发基本框架
16.2 将Java ME游戏API嫁接到Android
16.2.1 Layer类的移植
16.2.2 Sprite类的移植
16.2.3 TiledLayer类的移植
16.2.4 LayerManager类的移植
16.3 Android版雷电游戏的实现
16.3.1 雷电游戏简介
16.3.2 雷电游戏的实现
第17章 Android应用案例——备忘录
17.1 备忘录数据存储实现
17.1.1 数据库表设计
17.1.2 备忘录ContentProvider实现
17.2 备忘录列表展示
17.3 备忘录维护
17.4 备忘录定时提醒
17.4.1 定义提醒广播接收器
17.4.2 显示提醒Activity
第18章 Android应用案例——无线点餐系统
18.1 无线点餐系统需求分析
18.2 无线点餐系统概要设计
18.2.1 系统物理架构
18.2.2 技术选型
18.2.3 系统功能
18.3 无线点餐系统详细设计
18.3.1 系统包及其资源规划
18.3.2 系统数据库设计
18.4 系统编码实现
18.4.1 登录模块Android客户端实现
18.4.2 登录模块服务器端实现
18.4.3 程序主菜单实现
18.4.4 点餐功能客户端实现
18.4.5 点餐功能服务器端实现
18.4.6 结算模块Android客户端实现
18.4.7 结算模块服务器端实现
18.4.8 查台模块Android客户端实现
18.4.9 查台模块服务器端实现
18.4.10 更新模块Android客户端实现
18.4.11 更新模块服务器端实现
18.4.12 转台模块Android客户端实现
18.4.13 转台模块服务器端实现
18.4.14 并台模块Android客户端实现
18.4.15 并台模块服务器端实现
Android高级编程
第1章 Android简介
1.1 一些背景信息
1.1.1 不远的过去
1.1.2 未来的前景
1.2 对Android的误解
1.3 开放的移动开发平台
1.4 自带的Android应用程序
1.5 Android SDK功能
1.5.1 对包括摄像头、GPS和加速计在内的硬件的访问
1.5.2 自带的Google地图、地理编码和基于位置的服务
1.5.3 后台服务
1.5.4 SQLite数据存储和检索数据库
1.5.5 共享数据和应用程序间通信
1.5.6 使用Google Talk的P2P服务
1.5.7 扩展的数据支持和2D/3D图形
1.5.8 优化的内存和进程管理
1.6 开放手机联盟简介
1.7 运行Android的环境
1.8 从事Android开发的原因
1.8.1 推动Android普及的因素
1.8.2 Android的独到之处
1.8.3 改变移动开发格局
1.9 开发框架简介
1.9.1 开发包中的资源
1.9.2 理解Android软件栈
1.9.3 Dalvik虚拟机
1.9.4 Android应用程序架构
1.9.5 Android库
1.9.6 高级Android库
1.10 小结
第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 To-Do List示例
2.4 Android开发工具
2.4.1 Android模拟器
2.4.2 Dalvik调试监控服务(DDMS)
2.4.3 Android调试桥(ADB)
2.5 小结
第3章 创建应用程序和活动
3.1 Android应用程序的组成部分
3.2 程序清单简介
3.3 使用清单编辑器
3.4 Android应用程序生命周期
3.5 理解应用程序的优先级和进程状态
3.6 分离资源
3.6.1 创建资源
3.6.2 使用资源
3.6.3 To-DoList资源示例
3.6.4 为不同的语言和硬件创建资源
3.6.5 运行时配置更改
3.7 深入探讨Android活动
3.7.1 创建一个活动
3.7.2 活动生命周期
3.7.3 Android活动类
3.8 小结
第4章 创建用户界面
第5章 Intent、广播接收器、 Adapter和Internet
第6章 数据存储、检索和共享
第7章 地图、地理编码和基于位置的服务
第8章 后台工作
第9章 P2P通信
第10章 访问Android硬件
第11章 Android高级开发