第1章 Android开发基础 1
1.1 Eclipse中的Android开发 1
1.1.1 创建项目 1
1.1.2 创建AVD 2
1.1.3 运行项目 3
1.2 Android项目架构 5
1.2.1 Java代码解析 5
1.2.2 项目资源解析 8
1.2.3 AndroidManifest.xml解析 10
1.3 Eclipse中的常用窗口 12
1.3.1 Console窗口 13
1.3.2 LogCat窗口 13
1.3.3 DDMS窗口 14
1.4 移动App的设计原则 16
1.5 移动App的设计风格 18
1.5.1 扁平化设计 19
1.5.2 卡片式设计 21
第2章 ADT中的UI设计 23
2.1 图形布局编辑器 23
2.2 几种常见的布局方式 25
2.2.1 创建布局 26
2.2.2 相对布局 27
2.2.3 线性布局 29
2.2.4 帧布局 31
2.3 优化布局 32
2.3.1 复用布局 32
2.3.2 多设备支持 33
2.3.3 使用Hierachy Viewer调试用户界面 34
2.4 界面布局技巧 38
2.4.1 布局设计原则 38
2.4.2 布局设计技巧 39
2.5 习题 42
第3章 Activity与UI管理 43
3.1 Activity基础 43
3.1.1 创建Activity 43
3.1.2 Activity的生命周期 45
3.1.3 退出Activity 47
3.2 Activity之间的调用 47
3.2.1 调用其他Activity 48
3.2.2 Activity的回调 48
3.3 Activity之间的数据传递 50
3.3.1 使用Intent传递数据 50
3.3.2 使用Bundle传递数据 50
3.3.3 使用Application共享数据 52
3.4 Activity栈与任务 53
3.4.1 Activity栈 53
3.4.2 任务管理 55
3.4.3 Activity的加载模式 55
3.4.4 保存Activity的状态 58
3.5 应用主页设计技巧 61
3.6 用户体验设计 63
3.7 习题 65
第4章 Android组件编程 66
4.1 Service与后台服务 66
4.1.1 创建Service 66
4.1.2 Service的生命周期 67
4.1.3 StartedService 68
4.1.4 Bound Service 69
4.2 ContentProvider与数据共享 71
4.2.1 系统中的ContentProvider 72
4.2.2 通用资源标志符 73
4.2.3 使用ContentProvider 75
4.3 BroadcastReceiver与广播意图 77
4.3.1 BroadeastReceiver的工作机制 77
4.3.2 广播的类型 78
4.3.3 接收广播 80
4.3.4 注册广播 80
4.4 Intent与组件通信 81
4.4.1 Intent处理机制 81
4.4.2 Intent对象 82
4.4.3 Intent的解析 84
4.5 基于组件的应用模型 86
4.6 习题 88
第5章 Widgets设计与事件处理 89
5.1 表单控件设计 89
5.1.1 文本控件 89
5.1.2 按钮控件 92
5.1.3 单选/复选按钮控件 94
5.1.4 进度条控件 95
5.2 适配器控件设计 96
5.2.1 适配器概述 96
5.2.2 Gallery 96
5.2.3 Spinner 97
5.2.4 ListView 98
5.2.5 GridView 100
5.2.6 适配器控件的大数据加载 100
5.3 Widgets事件处理 102
5.3.1 按键事件处理 102
5.3.2 触屏事件处理 103
5.3.3 手势事件处理 105
5.3.4 感应器事件处理 108
5.4 Widgets设计技巧 109
5.4.1 官方设计指引 110
5.4.2 表单控件设计技巧 112
5.4.3 数据加载模式设计 115
5.4.4 搜索设计技巧 118
5.5 习题 120
第6章 对话框、菜单与导航 121
6.1 对话框设计 121
6.1.1 Toast通知 121
6.1.2 Notification提示 121
6.1.3 AlertDialog对话框 124
6.1.4 对话框的托管 126
6.2 菜单设计 127
6.2.1 Options Menu 127
6.2.2 Context Menu 129
6.3 动作栏与导航设计 130
6.3.1 动作栏设计 130
6.3.2 ActionMode设计 131
6.3.3 导航设计 133
6.3.4 导航设计技巧 137
6.4 用户通知设计技巧 140
6.4.1 Android中的消息提示 140
6.4.2 通知设计策略 141
6.4.3 通知设计原则 142
6.4.4 通知的导航机制 143
6.4.5 声音提醒 145
6.5 习题 147
第7章 容器UI设计 148
7.1 导航类容器设计 148
7.1.1 使用ViewPager设计导航页 148
7.1.2 使用ViewFlipper设计滑屏窗口 151
7.1.3 使用TabHost设计标签页 152
7.2 特定容器设计 154
7.2.1 使用WebView显示网页 154
7.2.2 使用MapView显示地图 156
7.2.3 使用VideoView播放视频 158
7.3 第三方容器控件设计 159
7.3.1 使用SlidingMenu设计菜单容器 159
7.3.2 使用TimesSquare设计日期 162
7.4 引导页设计技巧 162
7.5 习题 164
第8章 自定义控件设计 165
8.1 概述 165
8.2 定制控件 165
8.3 重载控件 170
8.3.1 重构AdapterView 170
8.3.2 应用控件 174
8.4 绘制UI 175
8.5 开源UI工具 176
8.6 习题 177
第9章 样式、主题与动画设计 178
9.1 样式与主题 178
9.1.1 Style 178
9.1.2 Theme 181
9.2 动画设计 184
9.2.1 帧动画 185
9.2.2 补间动画 186
9.2.3 属性动画 190
9.3 应用风格设计 193
9.4 动态效果设计 198
9.4.1 动态设计原则 198
9.4.2 动态设计技巧 199
9.5 习题 203
第10章 桌面UI设计 204
10.1 设计简单的桌面组件 204
10.1.1 RemoteViews 205
10.1.2 AppWidgetProviderInfo 206
10.1.3 AppWidgetProvider 207
10.1.4 声明App Widgets 210
10.2 配置和管理桌面组件 211
10.2.1 ConfigurationActivity 211
10.2.2 AppWidgetManager 213
10.3 设计集合桌面组件 214
10.3.1 CollectionViews 214
10.3.2 RemoteViewsService 217
10.3.3 RemoteViewsFactory 218
10.3.4 子视图事件 220
10.4 桌面组件设计规范 223
10.4.1 桌面组件的种类 223
10.4.2 桌面组件的尺寸 224
10.4.3 桌面组件设计技巧 225
10.5 习题 226
第11章 平板UI设计 227
11.1 Fragment概述 227
11.1.1 Fragment布局特性 227
11.1.2 Fragment与Activity 228
11.2 创建Fragment 229
11.2.1 创建ListFragment 230
11.2.2 创建Fragment 232
11.2.3 添加Fragment到Activity 233
11.2.4 使用Support Library 234
11.3 管理Fragment 235
11.3.1 Fragment的生命周期 235
11.3.2 使用FragmentManager处理事务 238
11.3.3 Fragment之间的通信 240
11.4 PreferenceFragment 243
11.5 平板UI设计技巧 246
11.5.1 Google的准则 246
11.5.2 横竖屏布局设计 249
11.5.3 常见平板布局 252
11.6 习题 254
第12章 Android UI综合应用 255
12.1 项目概述 255
12.2 用户界面设计 256
12.2.1 结构设计 256
12.2.2 交互设计 259
12.2.3 视觉设计 260
12.3 用户界面功能实现 261
12.3.1 主界面设计 261
12.3.2 歌曲列表界面设计 265
12.3.3 系统设置界面设计 267
12.3.4 桌面应用组件设计 269
12.4 UI测试 271
参考文献 274