Android 平板电脑开发实战详解和典型案例

978-7-115-30187-1
作者: 吴亚峰 杜化美 索依娜
译者:
编辑: 张涛

图书目录:

目 录

第 1章 平板电脑概览以及开发环境的搭建 1

1.1 平板电脑基础知识概览 1

1.1.1 初识平板电脑 1

1.1.2 忐忑发展史之平板电脑 1

1.1.3 平板电脑的家族成员 2

1.1.4 独树一帜的平板电脑 4

1.2 开发环境的搭建 5

1.2.1 Android SDK的安装与环境变量配置 5

1.2.2 Eclipse集成开发环境的搭建 6

1.2.3 Android模拟器的创建与使用 8

1.3 初识Android应用程序 10

1.3.1 创建第 一个Android应用程序——Hello Android 10

1.3.2 模拟器上调试Android应用程序 12

1.3.3 实际设备的联机调试 14

1.4 小结 15

第 2章 Android平台特色控件 16

2.1 搜索框控件——SearchView 16

2.1.1 搜索框控件基本知识 16

2.1.2 搜索框控件使用案例 17

2.2 开关窗口——Switch 19

2.2.1 开关窗口基本知识 19

2.2.2 开关窗口使用案例 19

2.3 弹出菜单——PopupMenu 21

2.3.1 弹出菜单基本知识 21

2.3.2 弹出菜单使用案例 21

2.4 动作条——ActionBar 24

2.4.1 显示选项菜单基本知识 24

2.4.2 显示选项菜单使用案例 24

2.4.3 提供标签页切换方式的导航功能基本知识 28

2.4.4 提供标签页切换方式导航功能使用案例 28

2.4.5 提供下拉列表导航功能基本知识 31

2.4.6 提供下拉列表导航功能使用案例 31

2.5 数字选择控件——NumberPiker 34

2.5.1 数字选择控件基本知识 34

2.5.2 数字选择控件使用案例 34

2.6 可展开列表——ExpandableListView 36

2.6.1 可展开列表基本知识 37

2.6.2 可展开列表使用案例 37

2.7 滑动式抽屉——SlidingDrawer 40

2.7.1 滑动式抽屉基本知识 40

2.7.2 滑动式抽屉使用案例 41

2.8 小结 44

第3章 酷炫UI之新增布局与片段 45

3.1 堆视图——AdapterViewFlipper 45

3.1.1 堆视图基本知识 45

3.1.2 堆视图使用案例 46

3.2 栈视图——StackView 49

3.2.1 栈视图基本知识 49

3.2.2 栈视图使用案例 50

3.3 网格布局——GridLayout 52

3.3.1 网格布局的基本知识 52

3.3.2 网格布局使用案例 53

3.4 片段——Fragment 56

3.4.1 片段——Fragment简介 56

3.4.2 列表片段——ListFragment 57

3.4.3 对话框片段——DialogFragment 61

3.4.4 偏好片段——PreferenceFragment 63

3.4.5 片段综合使用案例 67

3.5 小结 71

第4章 酷炫UI之选项选择界面 72

4.1 复选框选项设置——CheckBoxPreference 72

4.1.1 复选框选项设置基本知识 72

4.1.2 复选框选项设置使用案例 73

4.2 对话框选项设置——DialogPreference 75

4.2.1 对话框选项设置基本知识 75

4.2.2 对话框选项设置使用案例 77

4.3 铃声选项设置——RingtonePreference 79

4.3.1 铃声选项设置基本知识 79

4.3.2 铃声选项设置使用案例 80

4.4 分组选项设置——PreferenceGroup 82

4.4.1 分组选项设置基本知识 82

4.4.2 分组选项设置使用案例 83

4.5 选项设置界面——SwitchPreference 85

4.5.1 选项设置界面基本知识 85

4.5.2 选项设置界面使用案例 86

4.6 主题——Theme 88

4.6.1 主题基本知识 88

4.6.2 主题使用案例 88

4.7 小结 91

第5章 数字图像处理及拍照 92

5.1 平滑滤镜 92

5.1.1 基本知识 92

5.1.2 一个简单的案例 93

5.2 锐化滤镜 97

5.2.1 基本知识 97

5.2.2 一个简单的案例 97

5.3 中值滤波器 98

5.3.1 基本知识 99

5.3.2 一个简单的案例 99

5.4 对比度扩展 103

5.4.1 基本知识 103

5.4.2 一个简单的案例 103

5.5 削波 107

5.5.1 基本知识 108

5.5.2 一个简单的案例 108

5.6 阈值化 112

5.6.1 基本知识 112

5.6.2 一个简单的案例 112

5.7 灰度窗口变换 115

5.7.1 基本知识 115

5.7.2 一个简单的案例 116

5.8 直方图均衡化 119

5.8.1 基本知识 120

5.8.2 一个简单的案例 120

5.9 轮廓提取 126

5.9.1 基本知识 126

5.9.2 一个简单的案例 126

5.10 腐蚀滤镜 130

5.10.1 基本知识 130

5.10.2 一个简单的案例 131

5.11 膨胀滤镜 135

5.11.1 基本知识 135

5.11.2 一个简单的案例 136

5.12 摄像头的变焦操作 140

5.12.1 基本知识 140

5.12.2 一个简单的案例 141

5.13 摄像头的对焦操作 146

5.13.1 基本知识 146

5.13.2 一个简单的案例 147

5.14 闪光灯的操作 148

5.14.1 基本知识 148

5.14.2 一个简单的案例 148

5.15 人脸检测——FaceDetector 149

5.15.1 基本知识 150

5.15.2 一个简单的案例 150

5.16 条形码扫描 153

5.16.1 基本知识 153

5.16.2 识别软件的开发 155

5.17 小结 168

第6章 TTS及语音识别 169

6.1 语音合成技术概览 169

6.1.1 Android系统TTS的设置界面 169

6.1.2 Android TTS引擎 170

6.1.3 语音合成类——TextToSpeech 170

6.2 发音功能 171

6.2.1 基础知识 171

6.2.2 一个简单的案例 171

6.3 记忆功能 174

6.3.1 基础知识 174

6.3.2 一个简单的案例 174

6.4 保存与关联功能 176

6.4.1 基础知识 177

6.4.2 一个简单的案例 177

6.5 TTS引擎“手说TTS”  183

6.5.1 基础知识 183

6.5.2 一个简单的案例 183

6.6 语音识别——SpeechRecognizer 186

6.6.1 识别信息类基本知识 186

6.6.2 信息识别类使用案例 186

6.7 小结 189

第7章 多媒体 190

7.1 音频播放 190

7.1.1 基本知识 190

7.1.2 一个简单的案例 190

7.2 实时音频采集与回放 196

7.2.1 基本知识 196

7.2.1 一个简单的案例 198

7.3 视频播放 207

7.3.1 基本知识 207

7.3.2 简单的使用案例 207

7.4 流媒体 213

7.4.1 基本知识 213

7.4.2 一个简单的案例 213

7.5 多功能媒体播放器案例 214

7.5.1 案例功能概览 214

7.5.2 音频播放基本界面的开发 216

7.5.3 音频播放前台功能的开发 221

7.5.4 音频播放后台功能的开发 226

7.5.5 频谱显示功能的开发 230

7.5.6 视频播放功能的开发 232

7.6 小结 239

第8章 2D图形渲染及多点触控 240

8.1 基本图形的绘制 240

8.1.1 基本知识 240

8.1.2 一个简单的案例 242

8.2 特殊线型 245

8.2.1 基本知识 245

8.2.2 一个简单的案例 246

8.3 平面贴图 250

8.3.1 基本知识 250

8.3.2 一个简单的案例 251

8.4 剪裁功能 253

8.4.1 基本知识 253

8.4.2 一个简单的案例 254

8.5 2D小游戏案例 257

8.5.1 案例功能预览 257

8.5.2 矩形类与豆豆类的开发 258

8.5.3 绘制类的开发 259

8.5.4 Activity以及相关线程的开发 263

8.6 多点触控 268

8.6.1 基本知识 268

8.6.2 一个简单的案例 269

8.7 小结 274

第9章 3D应用开发基础 275

9.1 OpenGL及OpenGL ES简介 275

9.2 3D基本知识 277

9.3 旧约——OpenGL ES 1.x 278

9.3.1 OpenGL ES 1.x的渲染管线 278

9.3.2 不同的绘制方式 281

9.3.3 索引法绘制案例 283

9.3.4 顶点法绘制案例 290

9.3.5 正交投影 291

9.3.6 透视投影 293

9.3.7 两种投影模式的案例 294

9.3.8 光照的3种组成元素 298

9.3.9 定向光与定位光 300

9.3.10 点法向量和面法向量 301

9.3.11 材质 302

9.3.12 两种光源的案例 303

9.3.13 纹理映射 306

9.3.14 纹理映射案例 306

9.4 新约——OpenGL ES 2.0 309

9.4.1 OpenGL ES 2.0的渲染管线 309

9.4.2 初识OpenGL ES 2.0应用程序 312

9.4.3 着色语言 319

9.4.4 正交投影 320

9.4.5 透视投影 325

9.4.6 3种光照通道 327

9.4.7 定位光 328

9.4.8 定向光 333

9.4.9 纹理映射 335

9.5 小结 340

第 10章 传感器应用开发 341

10.1 基本的开发流程 341

10.2 加速度传感器 343

10.2.1 基本知识 344

10.2.2 一个简单的案例 345

10.3 磁场传感器 351

10.3.1 基本知识 351

10.3.2 一个简单的案例 351

10.4 光传感器 353

10.4.1 基本知识 353

10.4.2 一个简单案例 353

10.5 温度传感器 354

10.5.1 基本知识 354

10.5.2 一个简单的案例 354

10.6 接近传感器 356

10.6.1 基本知识 356

10.6.2 一个简单的案例 356

10.7 姿态传感器 358

10.7.1 基本知识 358

10.7.2 一个简单的案例 359

10.8 小结 360

第 11章 蓝牙与无线以太网直连 361

11.1  基础知识 361

11.2 蓝牙连接功能的开发 362

11.2.1 功能预览 362

11.2.2 案例的开发 363

11.3 手机间蓝牙互联操控 373

11.3.1 功能预览 374

11.3.2 案例的开发 374

11.4 手机与其他设备的互联操控 382

11.4.1 基本规则 382

11.4.2 使用案例 383

11.5 无线以太网直连 387

11.5.1 基本知识 387

11.5.2 功能预览 388

11.5.3 案例的开发 390

11.6 小结 403

第 12章 GPS高级开发 404

12.1 设置开关及获得信息 404

12.1.1 基本知识 404

12.1.2 案例介绍 405

12.2 卫星信息的呈现 411

12.2.1 功能介绍 411

12.2.2 使用案例 411

12.3 当前位置信息的呈现 415

12.3.1 功能介绍 415

12.3.2 案例介绍 416

12.4 图片与颜色的加载 419

12.5 小结 421

第 13章 多分辨率屏幕自适应 422

13.1 XML布局描述文件 422

13.1.1 基本策略简介 422

13.1.2 一个简单的案例 423

13.2 横竖向各自按照不同比例缩放 428

13.2.1 基本策略简介 428

13.2.2 一个简单的案例 429

13.3 仅按照一个方向比例缩放 435

13.3.1 基本策略简介 435

13.3.2 一个简单的案例 436

13.4 不变形全部显示 437

13.4.1 基本策略简介 437

13.4.2 一个简单的案例 438

13.5 小结 441

第 14章 2D物理引擎游戏——魔法跳跳球 442

14.1 游戏背景及功能概述 442

14.1.1 背景概述 442

14.1.2 功能简介 442

14.2 游戏的策划和准备工作 445

14.2.1 游戏的策划 445

14.2.2 游戏的准备工作 445

14.3 游戏的架构 446

14.3.1 游戏的总体架构 446

14.3.2 游戏的类架构 447

14.4 主控制类——Box2D_MFTTQA-ctivity类的开发 449

14.5 主界面相关类 452

14.5.1 主界面类MainMenuView 452

14.5.2 主界面绘制线程MainMenuDrawThread 455

14.6 辅助工具类 456

14.6.1 声音工具类SoundUtil 456

14.6.2 图片加载工具类PicLoadUtil 458

14.6.3 常量类Constant 459

14.7 刚体类 462

14.7.1 刚体父类MyBody 462

14.7.2 挡板类MyBaffleImg 463

14.7.3 小球类MyBallImg 464

14.7.4 边界类MyEdgeImg 465

14.7.5 小钉类MyNailImg 466

14.7.6 物理引擎工具类Box2DUtil 468

14.7.7 碰撞检测搜索工具类BodySearchUtil 472

14.8 游戏界面相关类 474

14.8.1 游戏界面类GameView 474

14.8.2 物理世界模拟线程PhysicsThread 484

14.8.3 小球移动控制线程MoveballThread 490

14.8.4 抽奖信息控制线程CjThread 491

14.8.5 倒计时控制线程TimeThread 493

14.8.6 谜之盒滚动控制线程RollMysteryboxThread 494

14.8.7 抽奖烟花弹类Award 495

14.8.8 焰火类FireWork 497

14.9 游戏的优化与改进 497

第 15章 3D竞速游戏——极速飞行 499

15.1 游戏背景及功能概述 499

15.1.1 背景概述 499

15.1.2 功能介绍 499

15.2 游戏的策划及准备工作 501

15.2.1 游戏的策划 501

15.2.2 Android平台下游戏的准备工作 501

15.3 游戏的架构 504

15.3.1 各个类简要介绍 504

15.3.2 游戏框架简介 507

15.4 公共类FeiTingActivity 508

15.5 辅助界面相关类 511

15.5.1 欢迎界面WelcomeView类 512

15.5.2 3D界面的父类MyGLSurfaceView 513

15.5.3 主菜单界面类MenuView 514

15.5.4 选艇界面类XCView 517

15.5.5 选艇界面箭头类JianTou 521

15.5.6 选艇界面底座类DiZuo 522

15.5.7 历史界面类LiShiView 525

15.5.8 纹理矩形类TextureRect 528

15.6 游戏界面相关类 530

15.6.1 飞艇信息类BoatInfo 530

15.6.2 飞艇类boat 530

15.6.3 简单赛道类SaiDaoSimple 531

15.6.4 赛道类Saidao 534

15.6.5 圆柱类YuanZhu 535

15.6.6 正方形类Rectangular 535

15.6.7 立方体类Cube 537

15.6.8 立方体组类CubeGroup 538

15.6.9 立方体组的线程控制类CubeThread 540

15.6.10 障碍物的控制类ZAWForControl 541

15.6.11 障碍物的地图类MapData 541

15.6.12 游戏界面类MySurfaceView 542

15.6.13 游戏线程类KeyThread 546

15.7 游戏中着色器的开发 552

15.7.1 线段的着色器 552

15.7.2 纹理的着色器 552

15.8 游戏的优化与改进 553

第 16章 生活辅助软件——BN日程小管家 554

16.1 开发背景及功能概述 554

16.1.1 开发背景 554

16.1.2 功能概述 554

16.1.3 开发环境和目标平台 555

16.2 软件预览及功能结构 555

16.2.1 软件预览 555

16.2.2 功能结构 559

16.3 开发前的准备工作 559

16.3.1 数据库设计 559

16.3.2 数据库表设计 560

16.4 数据库的开发 561

16.5 主控制类ScheduleManagerActivity 572

16.6 登录界面的开发 575

16.7 自定义日历控件的开发 576

16.8 主界面的开发 585

16.8.1 月视图的开发 585

16.8.2 周视图的开发 593

16.8.3 日视图的开发 596

16.9 新建和编辑日程界面的开发 596

16.9.1 基本界面的开发 597

16.9.2 添加联系人的开发 598

16.9.3 添加图片的开发 600

16.9.4 添加录音的开发 601

16.9.5 添加地点的开发 605

16.10 查询日程界面的开发 610

16.11 铃声设置界面的开发 612

16.12 闹铃提醒界面的开发 614

16.13 小结 615

详情

本书主要从平板电脑的特性出发,讲解针对平板电脑开发的知识,如UI、计算处理和适合平板的案例,另外,注重讲解了发挥平板电脑特性的Android3.0和4.0的新特性,以便让读者尽快融入实战。

图书摘要

相关图书

Android App开发入门与实战
Android App开发入门与实战
Kotlin入门与实战
Kotlin入门与实战
Android 并发开发
Android 并发开发
Android APP开发实战——从规划到上线全程详解
Android APP开发实战——从规划到上线全程详解
Android应用案例开发大全( 第4版)
Android应用案例开发大全( 第4版)
深入理解Android内核设计思想(第2版)(上下册)
深入理解Android内核设计思想(第2版)(上下册)

相关文章

相关课程