内容简介
第1部分 入门
第1章 入门——创建一个简单的应用
1.1建立开发环境
1.1.1使用ADT包安装
1.1.2了解已安装的组件
1.2立即创建一个简单的应用
1.3理解Java代码和XML布局
1.4运行应用
1.5定制应用
1.5.1更新用户界面
1.5.2在代码中增加动作
1.6小结
1.7问与答
1.8作业
1.8.1测验
1.8.2答案
1.9练习
第2章 理解Android Activity
2.1理解activity
2.2启动一个activity
2.2.1在一个activity中启动另一个activity
2.2.2回退、回退、回退:理解回退栈
2.2.3 Launch Activity
2.3在不同Activity之间传递信息
2.3.1使用Extra和Bundle
2.3.2返回一个结果:使用Start Activity ForResult
2.4理解Intent
2.4.1使用Intent传递信息
2.4.2使用Intent启动其他应用程序
2.5理解Activity生命周期
2.6小结
2.7问与答
2.8作业
2.8.1测验
2.8.2答案
2.9练习
第3章 Android项目和资源探究
3.1Android项目文件探究
3.1.1项目创建时创建的文件夹和文件
3.1.2理解R .j ava文件
3.1.3 Android平台和Android依赖
3.2理解常见资源
3.2.1使用资源
3.2.2使用简单的资源
3.2.3使用可绘制的资源
3.2.4添加动画
3.2.5在视图中使用风格
3.2.6使用Raw和Assets文件夹
3.3小结
3.4问与答
3.5作业
3.5.1测验
3.5.2答案
3.6练习
第4章 不仅仅是智能手机:支持平板电脑、电视等
4.1Android简史
4.2处理设备显示和方向
4.2.1屏幕密度
4.2.2屏幕大小
4.2.3处理屏幕大小和密度
4.2.4方向
4.2.5在程序中处理方向的变化
4.3设备特性
4.4平台版本和兼容性
4.4.1引入Fragment和动作栏
4.4.2使用支持库
4.4.3设备支持策略
4.5在设备上启动应用
4.6小结
4.7问与答
4.8作业
4.8.1测验
4.8.2答案
4.9练习
第2部分 用户界面
第5章 使用布局
5.1开始使用布局
5.1.1使用布局资源编辑器设计布局
5.1.2使用XML编辑布局
5.1.3在程序中使用布局资源
5.1.4布局的类型
5.2更多的布局基础与LinearLayout
5.2.1公共属性
5.2.2改变LinearLayout属性
5.3放置子视图
5.3.1内边距
5.3.2布局外边距
5.3.3重心
5.3.4权重
5.4FrameLayout
5.5RelativeLayout
5.6小结
5.7问与答
5.8作业
5.8.1测验
5.8.2答案
5.9练习
第6章 使用基本的UI控件
6.1创建演示应用
6.2使用输入控件
6.2.1使用TextView和EditView视图
6.2.2使用不同的按钮
6.3组合使用控件和适配器
6.3.1适配器
6.3.2使用Spinner控件
6.3.3使用AutoCompleteTextView
6.4ProgressBar和SeekBar
6.4.1 AsyncTask
6.4.2 ProgressBar
6.4.3 SeekBar
6.5ImageView
6.6小结
6.7问与答
6.8作业
6.8.1测验
6.8.2答案
6.9练习
第7章 动作栏和菜单导航
7.1理解选项菜单
7.1.1显示选项菜单
7.1.2响应选项菜单
7.2使用动作栏
7.2.1下拉导航
7.2.2选项卡导航
7.3使用动作栏和菜单的策略
7.4小结
7.5问与答
7.6作业
7.6.1 测验
7.6.2答案
7.7练习
第8章 activity和fragment
8.1在不同UI中使用fragment
8.2创建和显示fragment
8.2.1为fragment显示使用布局
8.2.2动态地显示fragment
8.2.3 fragment和支持包
8.3使用fragment导航
8.3.1在不同fragment之间导航
8.3.2使用fragment与动作栏
8.4 fragment和activity之间的交互
8.5小结
8.6问与答
8.7作业
8.7.1测验
8.7.2答案
8.8练习
第9章 警报!使用对话框
9.1理解对话框fragment
9.1.1显示对话框
9.1.2打开和关闭对话框
9.2选择日期和时间的对话框
9.2.1使用日期选择器
9.2.2使用时间选择器
9.3使用警报对话框
9.3.1显示列表项
9.3.2添加自定义的视图
9.4小结
9.5问与答
9.6作业
9.6.1测验
9.6.2答案
9.7练习
第10章 List、 Grid、 Gallery以及Flipper
10.1ListFragment
10.1.1创建一个简单的ListFragment
10.1.2定制ListFragment
10.2 Grid和Gallert
10.2.1创建包含GridView的Fragment
10.2.2创建包含Gallert的Fragment
10.3使用AdapterViewFlipper
10.4分页控件选项
10.5小结
10.6问与答
10.7作业
10.7.1测验
10.7.2答案
10.8练习
第11章 应用设置:管理首选项
11.1使用SharedPreferences
11.1.1设置首选项
11.1.2读取Shared Preferences
11.1.3SharedPreferences中的数据类型和方法
11.2设置用户首选项
11.2.1创建Preferences Fragment
11.2.2生成首选项Activity
11.3小结
11.4问与答
11.5作业
11.5.1测验
11.5.2答案
11.6练习
第3部分 数据访问和使用
第12章 访问云:使用远程API
12.1获取远程数据
12.1.1使用API调用
12.1.2使用HttpUrlConnection读取数据
12.1.3应用的结构
12.2使用和解析JSON格式的数据
12.2.1创建JSONObject
12.2.2使用JSONArray
12.2.3解析JSON
12.3集成
12.3.1使用AsyncTask在后台下载
12.3.2在Fragment中显示列表
12.4检查联通性
12.5小结
12.6问与答
12.7作业
12.7.1测验
12.7.2答案
12.8练习
第13章 使用SQLite和文件存储
13.1使用表组织数据库
13.2使用SQLiteOpenHelper管理数据
13.3添加、更新、删除数据
13.3.1插入一张照片
13.3.2更新一张照片
13.3.3删除一张照片
13.4查询数据和使用游标
13.5在应用中使用数据库
13.5.1插入Flickr照片数据
13.5.2读取数据库以显示照片标题
13.6 保存图像文件
13.6.1从Flickr读取图像
13.6.2使用缓存的图像
13.7小结
13.8问与答
13.9作业
13.9.1测验
13.9.2答案
13.10练习
第14章 创建一个Content Provider
14.1使用URI进行数据读取
14.2构建Content Provider
14.2.1Content Provider中要求的方法
14.2.2声明Content Provider
14.2.3更新Android清单文件
14.2.4 Content Provider查询方法
14.2.5使用FlickrPhotoProvider查询
14.2.6实现GetType()方法
14.2.7实现插入、更新、删除方法
14.3在应用中使用FlickrPhotoProvider
14.4从Content Provider中请求文件
14.4.1如何从Content Provider中返回文件
14.4.2从文件或远程读取图像
14.4.3在内容发生变化时使用ContentObserver
14.5小结
14.6问与答
14.7作业
14.7.1测验
14.7.2答案
14.8练习
第15章 加载器、游标加载器和自定义适配器
15.1加载器的工作方式
15.2加载器类
15.3理解加载器状态
15.3.1初始化加载器
15.3.2创建加载器
15.3.3在数据可用时采取措施
15.3.4重置加载器
15.3.5使用游标加载器和游标适配器
15.4创建自定义适配器
15.4.1使用BaseAdapter
15.4.2视图持有者模式介绍
15.4.3自定义游标适配器介绍
15.5小结
15.6问与答
15.7作业
15.7.1测验
15.7.2答案
15.8练习
第16章 开发一个完整的应用
16.1确定应用的功能
16.1.1从Flickr照片开始
16.1.2为应用创建线框图
16.1.3规划应用:列出清单
16.2开发应用
16.2.1使用自定义的游标适配器
16.2.2为ListCursorAdapter实现BindView
16.2.3创建照片和收藏照片Fragment
16.2.4在列表或网格中显示数据
16.2.5显示选中的图像
16.2.6处理收藏夹
16.2.7最终的应用清单
16.3小结
16.4问与答
16.5作业
16.5.1测验
16.5.2答案
16.6练习
第4部分 特殊主题
第17章 联系人和日历:访问设备数据
17.1日历
17.1.1 Android上的日历数据
17.1.2使用Intent更新日历
17.2理解联系人
17.2.1查询联系人
17.2.2使用联系人Intent
17.3小结
17.4问与答
17.5作业
17.5.1测验
17.5.2答案
17.6练习
第18章 我们在哪里?使用基于位置的服务
18.1确定位置
18.2使用地理编码服务
18.3使用Geo Intent
18.4其他位置特性
18.5使用Google Play服务
18.6小结
18.7问与答
18.8作业
18.8.1测验
18.8.2答案
18.9练习
第19章 Bonjour, World!本地化应用
19.1常规的国际化原则
19.2在Android中使用本地化
19.3在Android中处理区域
19.4使用应用程序来处理区域
19.4.1指定默认的资源
19.4.2指定特定于语言的资源
19.4.3指定特定于地区的资源
19.4.4在多语言环境下测试应用
19.5 Android国际化策略
19.5.1忘记应用程序国际化
19.5.2限制应用程序国际化
19.5.3实现健壮的应用程序国际化
19.6使用本地化工具
19.6.1确定系统区域
19.6.2格式化日期和时间字符串
19.6.3处理货币
19.7小结
19.8问与答
19.9作业
19.9.1测验
19.9.2答案
19.10练习
第20章 说cheese!使用照相机
20.1捕获媒体
20.1.1捕获媒体的公共步骤
20.1.2指定媒体存储的文件
20.1.3创建URI并调用媒体扫描器
20.2使用Intent拍摄照片和视频
20.2.1使用intent拍摄照片
20.2.2使用intent拍摄视频
20.2.3使用intent捕获媒体的好处
20.3开发一个照相机应用
20.3.1捕获媒体的权限
20.3.2创建照相机预览类
20.3.3创建自定义的照相机Activity
20.3.4创建自定义的视频Activity
20.4小结
20.5问与答
20.6作业
20.6.1测验
20.6.2答案
20.7练习
第21章 媒体基础:图像、音频和视频
21.1 ImageView控件研究
21.1.1显示图像
21.1.2在ImageView中使用ScaleTypes
21.1.3使用矩阵旋转图像
21.1.4设置Alpha
21.2位图和画布
21.2.1处理大图像
21.2.2直接在画布上绘制
21.3使用VideoView
21.3.1加载视频
21.3.2启动、暂停、定位视频
21.3.3监听VideoView的状态
21.4使用MediaPlayer播放音频
21.5更多媒体选项研究
21.6小结
21.7问与答
21.8作业
21.8.1测验
21.8.2答案
21.9练习
第22章 使用Facebook SDK
22.1有关Facebook
22.2设置Facebook开发环境
22.2.1创建新的Facebook应用
22.2.2 -下载Facebook SDK
22.2.3安装Facebook SDK
22.3在项目中使用Facebook SDK
22.3.1设置应用ID
22.3.2对清单文件最后的变更
22.3.3准备开始编码
22.4开发Facebook照片上传应用
22.4.1设置Facebook权限
22.4.2登录和会话管理
22.4.3应用实现
22.4.4发起Facebook请求
22.5 Facebook SDK特性
22.5.1 Facebook SDK概览
22.5.2深链接
22.6为自己的项目创建库
22.7小结
22.8问与答
22.9作业
22.9.1测验
22.9.2答案
22.10练习
第5部分 打包
第23章 专家建议、润色和下一步
23.1快速响应的应用:使用IntentService
23.1.1定义一个IntentService
23.1.2添加BroadcastReceiver
23.2添加动画
23.3使用开源
23.3.1 ActionBarSherlock
23.3.2 ViewPageIndicator
23.3.3 Picasso
23.3.4在应用中使用开源
23.4深入Android
23.4.1使用传感器
23.4.2处理用户手势
23.4.3使用风格和主题
23.4.4设计自定义的视图和ViewGroup控件
23.4.5将文本转换成语音
23.4.6将语音转换成文本
23.4.7使用OpenGL ES图形API
23.4.8蓝牙
23.4.9 NFC和Beam
23.4.10用于外部显示的Presentation类
23.5小结
23.6问与答
23.7作业
23.7.1测验
23.7.2答案
23.8练习
第24章 发布应用
24.1准备发布
24.1.1为发布准备Android清单文件
24.1.2对应用进行签名
24.2发布应用
24.2.1在Google Play上发布
24.2.2在Amazon上发布
24.2.3什么是OUYA和其他市场
24.3通过应用赚钱
24.3.1免费的应用
24.3.2广告支持
24.3.3付费
24.3.4应用内付费
24.4小结
24.5问与答
24.6作业
24.6.1测验
24.6.2答案
24.7练习