内容简介
本书涵盖了Android开发从概念、技术到市场推广应用的全部话题,内容包括:Android概览、Android应用程序设计精髓、Android用户界面设计精髓、常用AndroidAPI、更多Android应用程序设计原则、对外发布你的Android应用程序和附录等7个部分。附录还包含了Android开发常用工具(如模拟器、DDMS、调试桥和SQLite等)的使用指南。
本书不仅适合Android应用程序开发人员阅读,还能为QA测试人员提供指导。另外本书还可以帮助项目经理更好地管理项目进程和项目团队,帮助市场推广人员更好地把握市场、创造令人瞩目的销售业绩。
目录
- 第一部分Android概览
- 第章Android简介
- .移动软件开发简史
- ..遥想当年
- ..“砖头”
- ..无线应用协议(WAP)
- ..商用移动平台
- .开放手机联盟(OHA)
- ..无线Google
- ..开放手机联盟成立
- ..制造商:设计Android手机
- ..内容提供商:开发Android应用程序
- ..移动操作系统:传播Android体验
- ..充分发挥Android的优势
- .Android平台的不同之处
- ..Android:下一代平台
- ..免费开放源代码
- ..熟悉和廉价的开发工具
- ..合理的开发人员学习曲线
- ..强大的应用程序开发支持
- ..丰富、安全的应用集成
- ..无障碍发布
- ..为应用程序提供的“自由市场”
- ..新生并逐渐成长的平台
- .Android平台
- ..Android的基本体系结构
- ..安全与许可权限
- ..开发Android应用程序
- 小结
- 参考资料和更多信息
- 第2章你的Android开发环境
- .配置你的开发环境
- ..支持的操作系统
- ..安装Java开发包(JDK)
- ..安装Eclipse开发环境
- ..其他开发环境
- ..安装Android软件开发包(SDK)
- ..安装与配置AndroidEclipse插件(ADT)
- ..ADT安装释疑
- ..升级AndroidSDK
- ..AndroidSDK的问题
- ..配置Android编译硬件
- ..配置操作系统以适应设备编译
- ..本书使用的开发环境
- .探索AndroidSDK
- ..AndroidSDK许可协议
- ..AndroidSDK文档
- ..Android应用程序框架
- ..Android工具
- ..Android示例应用程序
- 第章编写第一个Android应用程序
- .测试你的开发环境
- ..在Eclipse工程中导入Snake应用程序
- ..为Snake工程创建Android虚拟设备(AVD)
- ..为Snake工程创建运行配置参数
- ..在Android模拟器中运行Snake应用程序
- .构建你的第一个Android应用程序
- ..创建和配置新的Android工程
- ..Android应用程序的核心文件和目录
- ..为新工程创建Android虚拟设备
- ..为工程配置运行参数
- ..在模拟器中运行Android应用程序
- ..在模拟器中调试Android应用程序
- ..为Android应用程序添加日志记录
- ..为应用程序添加媒体支持
- ..为应用程序添加基于位置的服务(LBS)
- ..在硬件上调试应用程序
- 第二部分Android应用程序设计精髓
- 第章剖析Android应用程序
- .Android应用程序的生存周期
- ..使用Activity执行应用程序任务
- ..使用Intent在不同Activity之间实现跳转
- ..AndroidActivity的生存周期
- .使用AndroidManifest文件定义应用程序
- ..管理你的应用程序身份
- ..注册Activity和其他应用程序组件
- ..使用许可权限
- ..指定应用程序所需输入设备和软件
- ..使用库和AndroidSDK版本
- ..在Manifest文件中定义应用程序的其他配置参数
- 第章管理应用程序资源
- .什么是资源
- ..应用程序资源的存储方式和位置
- ..资源目录的层级结构
- ..资源的类型
- ..存储不同的资源类型
- ..使用程序访问资源
- .实例:使用Eclipse设置简单资源
- .使用资源
- ..使用String(字符串)资源
- ..使用格式化的String资源
- ..使用String数组
- ..使用颜色
- ..使用尺寸
- ..使用简单Drawable资源
- ..使用图像
- ..使用动画
- ..使用菜单
- ..使用XML文件
- ..使用原始文件
- ..资源引用
- ..使用布局(layout)
- ..使用样式(style)
- ..使用主题(theme)
- .引用系统资源
- .管理各种应用程序配置
- ..为本地化和设备配置指定资源
- ..在程序中使用适当的配置资源
- ..高效地组织应用程序资源
- 第三部分Android用户界面设计精髓
- 第章探索用户界面屏幕元素
- .Android视图、Widget和布局简介
- ..Android视图简介
- ..AndroidWidget简介
- ..Android布局简介
- .使用TextView显示文本
- ..配置布局和尺寸
- ..在文本中创建上下文链接
- .使用EditText和Spinner获取用户文本
- ..使用自动补全辅助用户
- ..使用输入过滤器约束用户输入
- ..使用SpinnerWidget的下拉列表约束用户输入
- .使用按钮、多选框和单选组
- ..使用基本按钮
- ..使用多选框和Toggle按钮
- ..使用RadioGroup和RadioButton
- .获取用户输入的日期和时间
- .向用户显示信息
- ..使用ProgressBar指示进度
- ..使用SeekBar指示和调整进度
- ..使用RatingBar指示和调整评分
- ..使用Chronometer指示时间推移
- ..使用AnalogClock和DigitalClock指示当前时间
- .为用户提供选项和上下文菜单
- ..使用选项菜单
- ..使用ContextMenu(上下文菜单)
- .掌控用户事件
- ..监听触摸模式状态改变
- ..监听全屏幕上的事件
- ..监听长时单击
- ..监听手势
- ..监听焦点改变
- ..监听屏幕旋转
- .使用样式
- .使用主题
- 第章使用布局设计Android用户界面
- .创建Android用户界面
- ..使用XML资源创建布局
- ..使用代码创建布局
- .使用ViewGroup组织用户界面
- .使用内建的布局类
- ..使用AbsoluteLayout
- ..使用FrameLayout
- ..使用LinearLayout
- ..使用RelativeLayout
- ..使用TableLayout
- ..在屏幕上使用多布局
- .使用内建的View容器类
- ..结合AdapterView使用数据驱动View容器
- ..使用TabActivity和TabHost组织视图
- ..探索其他视图容器
- .使用AppWidget显示应用程序视图
- .成为AppWidget提供者
- 第章Android绘图与动画
- .屏幕绘图
- .使用文字
- ..使用默认字体
- ..使用自定义字体
- ..测量文字所需的屏幕尺寸
- .使用位图
- ..在画布上绘制位图
- ..缩放位图
- ..使用Matrix变换位图
- .使用图形
- ..用XML资源定义图形
- ..使用程序定义图形
- ..绘制各种图形
- .使用动画
- ..使用逐帧动画
- ..使用补间动画
- 第四部分常用AndroidAPI
- 第章使用Android数据和存储API
- .使用应用程序项
- ..创建私有和共享项
- ..搜索和读取项
- ..新增、修改和删除项
- ..使用Android文件系统查找项数据
- .使用文件和目录
- ..探索Android应用程序目录
- ..在默认应用程序目录中创建和写入文件
- ..在默认应用程序目录中读取文件内容
- ..使用Android文件系统操作其他目录和文件
- .使用SQLite数据库存储结构化数据
- ..创建SQLite数据库
- ..创建、修改和删除数据库记录
- ..在SQLite数据库中执行查询
- ..关闭和删除SQLite数据库
- ..设计持久数据库
- ..向应用程序界面绑定数据
- .使用ContentProvider在应用程序间共享数据
- ..为访问图像调整ContentProvider
- ..探索Android的部分内建ContentProvider
- ..在ContentProvider中修改数据
- .使用自定义ContentProvider扩展你的Android应用程序
- ..继承ContentProvider
- ..定义数据URI
- ..定义数据列
- ..实现query()、insert()、update()、delete()和getType()
- ..更新Manifest文件
- .使用LiveFolder
- 第章使用Android网络API
- .访问因特网(HTTP)
- ..从Web读取数据
- ..使用HttpURLConnection
- ..解析从网络获取的XML
- ..使用线程访问网络
- ..显示从网络资源获取的图像
- ..获取Android网络状态
- .使用WebView浏览Web
- 第章使用位置服务(LBS)API
- .使用全球定位服务(GPS)
- ..查找你的位置
- ..定位你的模拟器
- .位置地理编码
- .在地图上标注位置
- ..地图标注内容
- ..地图标注视图
- ..获得调试APIKey
- ..拖曳地图视图
- ..缩放地图视图
- ..标记点
- .位置服务扩展应用
- 第章使用Android多媒体API
- .操作静态图像
- ..使用摄像头捕捉静态图像
- ..分享图像
- ..将图像指定为墙纸
- .使用视频
- ..录制视频
- ..播放视频
- .使用音频
- ..录制音频
- ..播放音频
- ..共享音频
- ..使用铃音
- 第章使用Android电话API
- .使用电话功能包
- ..为获取手机状态信息取得许可权限
- ..请求获取通话状态
- ..请求获取服务信息
- ..使用电话号码
- .使用短消息
- ..获得发送和接收短消息的许可权限
- ..发送短消息
- ..接收短消息
- .拨打电话
- 第章通过OpenGLES使用AndroidD图形
- .定义OpenGLES
- .使用基于OpenGLES的AndroidD应用程序
- ..创建SurfaceView
- ..启动OpenGLES线程
- ..初始化EGL
- ..初始化GL
- ..绘制
- .绘制D物体
- ..绘制顶点(vertices)
- ..为顶点着色
- ..绘制更多复杂物体
- ..照亮你的场景
- ..为对象赋予材质
- .同Android视图和事件进行交互
- ..允许OpenGL线程向应用程序线程发送信息
- ..允许应用程序线程向OpenGL线程发送信息
- .清理OpenGLES
- .使用GLSurfaceView类
- 第章使用Android可选硬件API
- .使用设备传感器
- .使用Wi-Fi
- .监视电池
- 第五部分更多Android应用程序设计原则
- 第章使用通知
- .使用状态栏发布通知
- .让手机震动
- .灯光闪烁
- .发出声响
- .自定义通知
- 第章使用服务
- .创建服务
- .控制服务
- .实现远程接口
- .实现可包装(parcelable)类
- 第六部分对外发布你的Android应用程序
- 第章移动软件开发过程
- .移动开发过程概览
- .选择一种软件开发方法
- ..理解“瀑布模型”的危险
- ..认识迭代式开发的价值
- .整合应用程序需求
- ..确定工程需求
- ..为移动应用程序开发用例
- ..吸纳第三方需求
- ..管理手机设备数据库
- .项目风险评估
- ..确定目标手机
- ..获取目标手机
- ..确定应用程序需求的可行性
- ..理解质量保障的风险
- .编写基本项目文档
- ..为质量保障制定测试计划
- ..提供第三方所需的文档
- ..提供维护和移植所需的文档
- .实现移动应用程序配置管理系统
- ..选择一个源代码控制系统
- ..实现一个可用的版本管理系统
- .设计移动应用程序
- ..认识移动设备的局限
- ..移动应用程序体系结构探索
- ..可扩展和维护设计
- ..应用程序交互设计
- .开发移动应用程序
- .测试移动应用程序
- .发布移动应用程序
- ..确定目标市场
- ..将市场需求引入应用程序需求
- .支持和维护移动应用程序
- ..维护适当的应用程序文档
- ..管理服务器的动态更改
- ..确定低风险移植机会
- 第章开发和测试“防弹”Android应用程序
- .“防弹”移动应用程序设计实践
- ..满足移动用户的需求
- ..为移动设备设计用户界面
- ..设计稳定、灵敏的移动应用程序
- ..设计安全的移动应用程序
- ..在设计移动应用程序时考虑利益的化
- ..在Android应用程序设计时使用第三方标准
- ..设计便于维护和升级的移动应用程序
- ..在应用程序设计中使用Andriod工具
- ..避免设计时的愚蠢错误
- .“防弹”移动应用程序开发实践
- ..设计有效的移动开发过程
- ..提早和经常地测试应用程序可行性
- ..使用代码标准、代码检查和单元测试以提高代码质量
- ..处理某单一手机的缺陷
- ..在应用程序开发中使用Android工具
- ..避免开发时的愚蠢错误
- .移动应用程序测试实践
- ..设计一个应用程序漏洞跟踪系统
- ..管理测试环境
- .确定设备的“洁净”初始状态
- ..模仿现实世界的活动
- ..尽量全面地进行测试
- ..在应用程序测试中使用Android工具
- ..避免测试时的愚蠢错误
- ..外包测试的责任
- 第章销售你的Android应用程序
- .为发布而打包你的应用程序
- ..准备封装你的代码
- ..准备你的软件包
- ..测试软件包的发布版本
- ..认证你的Android应用程序
- .赚钱
- ..在AndroidMarket上销售你的应用程序
- ..在自己的服务器上销售你的应用程序
- ..销售应用程序的其他途径
- ..保护你的知识产权
- ..让用户付费
- 第七部分附录
- 附录AAndroid模拟器快速入门
- A.玩转默认模拟器
- A.使用Android虚拟设备管理模拟器配置
- A.列表显示Android目标操作系统
- A..创建AVD
- A..列表显示所有已知的AVD
- A..删除AVD
- A..使用其他的AVD命令
- A.使用启动选项控制模拟器行为
- A..以命令行的方式配置模拟器启动选项
- A..使用Eclipse配置模拟器启动选项
- A.配置模拟器的位置信息
- A.在两个模拟器实例之间拨打电话
- A.在两个模拟器实例之间发送消息
- A.通过控制台与模拟器交互
- A..使用控制台模拟来电
- A..使用控制台模拟短消息
- A..使用控制台发送GPS坐标
- A..使用控制台监视网络状态
- A..使用控制台操作电源设置
- A..使用其他控制台命令
- A.享受模拟器
- A.认识模拟器的局限
- 附录BAndroidDDMS快速入门
- B.独立或结合Eclipse使用DDMS
- B.熟悉DDMS的关键特性
- B.使用进程
- B..向Android应用程序关联调试器
- B..监视Android应用程序的线程活动
- B..在Android应用程序中触发垃圾回收(GC)
- B..监视Android应用程序的堆活动
- B..终止Android进程
- B.使用文件浏览器
- B..从模拟器或设备上拷贝文件
- B..向模拟器或设备拷贝文件
- B..删除模拟器或设备上的文件
- B.使用模拟器控制
- B..模拟语音来电
- B..模拟短消息接收
- B..发送位置坐标
- B.使用应用程序日志
- B.在模拟器或目标设备上截屏
- 附录CAndroid调试桥快速入门
- C.列表显示连接到计算机的设备和模拟器
- C.针对特定设备使用ADB命令
- C.启动和停止ADB服务进程
- C..停止ADB服务进程
- C..启动和检测ADB服务进程
- C.使用ADB从/向Android应用程序拷贝文件
- C..向设备发送文件
- C..从设备提取文件
- C.使用ADB安装和卸载Android应用程序
- C..使用ADB安装应用程序
- C..使用ADB重装应用程序
- C..使用ADB卸载应用程序
- C.使用LogCat记录日志
- C..显示所有的日志信息
- C..更改日志记录模式以包含日期和时间信息
- C..过滤日志信息
- C..清除日志
- C..将日志输出重定向至一个文件
- C..访问次级日志
- C.生成Bug报告
- C.发布Shell命令
- C..发布单条Shell命令
- C..启动和使用一个Shell会话
- C..使用ADBShell启动和终止模拟器
- C..使用ADBShell查看SQLite数据库
- C..在ADBShell中使用Monkey进行应用程序压力测试
- C..通过Shell安装和使用自定义二进制文件
- C.其他ADB命令探索
- 附录DSQLite快速入门
- D.探索SQLite的常见任务
- D.使用sqlite命令行接口
- D..启动sqlite命令行接口并连接数据库
- D..探索你的数据库
- D..导入和导出数据库
- D..在命令行中执行SQL命令
- D..窥视SQLite内部
- D..使用其他的sqlite命令
- D..认识SQLite的局限
- D.通过实例理解SQLite:学生成绩数据库
- D..设计学生成绩数据库的模式
- D..结合AUTOINCREMENT创建简单表
- D..向表中插入数据
- D..使用SELECT查询表数据
- D..创建具有外键和复合主键的表
- D..修改和更新表数据
- D..使用JOIN进行多表查询
- D..使用计算列
- D..对计算列使用子查询
- D..删除表