描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787115482433
本书涵盖了现实中几乎所有的流行技术,如传感器、OpenGL ES 3.0、增强现实、动态壁纸、LBS百度地图的二次开发、移动办公、实时流体仿真计算引擎、服务端和Android端的交互等。
2.实例丰富,讲解详细
本书既包括单机版客户端项目,也有服务端和Android端的结合开发;既包括典型的商业软件,也包括休闲娱乐项目,还有流行的增强现实热门案例以及借助OpenGL ES 3.0渲染的逼真场景。
3.案例经典,含金量高
本书中的案例均是精心挑选的,不同类型的案例有着其独特的开发方式。以真实的项目开发为讲解背景,包括大型商务软件、增强现实应用、益智游戏等,讲解了开发时的思路,真实项目的策划方案,以期让读者全面地掌握手机应用及游戏的开发,具有很高的含金量,非常适合各类读者学习。
全书共分12章,详细介绍了3D动态壁纸—百纳水族馆,LBS类应用—掌上杭州,营销管理系统—手机汽车4S店,LBS交通软件—百纳公交小助手,校园服务类应用—社团宝,校园辅助软件—手机新生小助手,生活辅助类应用—美食天下,音乐休闲软件—百纳网络音乐播放器,中学教育AR应用—化学可视体验,益智类游戏—污水征服者,生活服务类应用—驾考宝典等Android应用的开发技术。书中所有案例的全部源代码读者都可以通过网络下载,方便学习。
本书以真实的项目开发为写作背景,具有很强的实用性和实战性。讲解上深入浅出、通俗易懂,既有Android开发的实战技术和技巧,也包括真实项目的策划方案。本书非常适合初学者或有一定Android基础并希望学习Android开发技术的读者使用。
第 1章 初识庐山真面目——Android简介 1
1.1 Android的来龙去脉 1
1.2 掀起Android的盖头来 1
1.2.1 选择Android的理由 1
1.2.2 Android的应用程序框架 2
1.3 Android开发环境的搭建 4
1.3.1 Android Studio和Android SDK
的下载 4
1.3.2 Android Studio和Android SDK
的安装 5
1.3.3 第 一个Android程序 8
1.4 DDMS的灵活应用 13
1.4.1 初识DDMS 13
1.4.2 System.out.println方法 14
1.4.3 android.util.Log类 14
1.4.4 Devices的管理 15
1.4.5 模拟器控制(Emulator Control)
详解 17
1.4.6 File Explorer——SD Card
文件管理器 18
1.5 本书案例项目的导入 19
1.6 本章小结 20
第 2章 3D动态壁纸——百纳水族馆 21
2.1 背景及功能概述 21
2.1.1 项目背景 21
2.1.2 功能介绍 22
2.2 策划及准备工作 23
2.2.1 项目策划 24
2.2.2 Android平台下3D开发的
准备工作 24
2.2.3 百纳骨骼动画格式文件 25
2.3 整体介绍 25
2.4 项目的绘制 28
2.4.1 介绍壁纸服务类——
OpenGLES3WallpaperService 29
2.4.2 自定义渲染器类——
MySurfaceView 30
2.5 辅助绘制类 33
2.5.1 背景辅助绘制类——
Background 34
2.5.2 气泡辅助绘制类——Bubble 35
2.5.3 鱼类辅助绘制类——BNModel 36
2.5.4 模型辅助绘制类——
BnggdhDraw 37
2.6 绘制相关类 40
2.6.1 气泡绘制相关类 40
2.6.2 群鱼绘制相关类 42
2.6.3 鱼群绘制相关类 44
2.6.4 鱼食绘制相关类 46
2.7 线程相关类 48
2.7.1 气泡移动线程类——
BubbleThread 48
2.7.2 群鱼游动线程类——
FishGoThread 48
2.7.3 鱼群游动线程类——
FishSchoolThread 49
2.7.4 鱼食移动线程类——
FoodThread 51
2.7.5 吸引力线程类——
AttractThread 52
2.7.6 线程组管理类——
BNThreadGroup 54
2.8 着色器的开发 54
2.8.1 气泡的着色器 54
2.8.2 珍珠着色器 55
2.8.3 鱼类的着色器 57
2.9 优化与改进 58
第3章 LBS类应用——掌上杭州 59
3.1 应用背景及功能介绍 59
3.1.1 背景简介 59
3.1.2 功能概述 59
3.1.3 开发环境 60
3.2 功能预览及架构 60
3.2.1 加载、美食、医疗功能预览 60
3.2.2 购物、景点、娱乐功能预览 63
3.2.3 搜索、设置功能预览 67
3.2.4 项目目录结构 68
3.3 开发前的准备工作 69
3.3.1 信息的搜集 69
3.3.2 数据包的整理 72
3.3.3 XML资源文件的准备 72
3.4 辅助工具类的开发 74
3.4.1 常量类的开发 74
3.4.2 图片获取类的开发 74
3.4.3 解压文件类的开发 75
3.4.4 读取文件类的开发 76
3.4.5 自定义字体类的开发 76
3.5 辅助功能的实现 77
3.5.1 加载功能的实现 77
3.5.2 主界面的实现 80
3.5.3 百度地图的实现 82
3.6 美食模块的实现 86
3.6.1 美食主界面的实现 86
3.6.2 介绍美食的实现 88
3.7 景点功能开发 90
3.7.1 景点主界面的开发 91
3.7.2 当前景点界面的开发 95
3.7.3 所有景点界面的开发 96
3.7.4 新浪微博功能的开发 97
3.7.5 搜索兴趣点功能的开发 101
3.7.6 语言选择功能的开发 102
3.7.7 建议反馈界面的开发 103
3.8 其他模块的实现 104
3.8.1 娱乐、医疗、购物的实现 104
3.8.2 住宿版块的实现 106
3.8.3 搜索模块的实现 109
3.8.4 设置模块的实现 112
3.9 本章小结 113
第4章 营销管理系统——手机汽车4S店 114
4.1 系统背景及功能介绍 114
4.1.1 手机汽车4S店背景简介 114
4.1.2 手机汽车4S店功能概述 114
4.1.3 手机汽车4S店开发环境和
目标平台 116
4.2 开发前的准备工作 117
4.2.1 数据库设计 117
4.2.2 数据库表设计 118
4.2.3 使用Navicat for MySQL创建
表并插入初始数据 121
4.3 系统功能预览及总体架构 122
4.3.1 PC端预览 122
4.3.2 Android客户端功能预览 125
4.3.3 Android客户端项目目录
结构 126
4.4 PC端的界面搭建与功能实现 127
4.4.1 用户登录功能的开发 127
4.4.2 主管理界面功能的开发 129
4.4.3 汽车车型管理功能的开发 130
4.4.4 汽车新闻管理功能的开发 134
4.4.5 信息反馈管理功能的开发 136
4.5 服务器端的实现 137
4.5.1 常量类的开发 137
4.5.2 服务线程的开发 137
4.5.3 DB处理类的开发 139
4.5.4 图片处理类 140
4.4.5 辅助工具类 140
4.4.6 其他方法的开发 142
4.6 Android客户端的准备工作 142
4.6.1 图片资源的准备 142
4.6.2 XML资源文件的准备 143
4.7 加载界面功能模块的实现 144
4.8 Android客户端各功能模块的实现 147
4.8.1 汽车4S店主界面模块的
实现 147
4.8.2 汽车新闻模块的实现 150
4.8.3 汽车车型模块的实现 154
4.8.4 汽车文化模块的实现 158
4.8.5 汽车经销商模块的实现 159
4.8.6 汽车服务模块的实现 160
4.9 Android客户端与服务器连接的
实现 166
4.9.1 Android客户端与服务器
连接的各类功能 166
4.9.2 Android客户端与服务器
连接中各类功能的开发 167
4.9.3 其他方法的开发 168
4.10 本章小结 168
第5章 LBS交通软件——百纳公交小助手 170
5.1 系统背景及功能介绍 170
5.1.1 背景简介 170
5.1.2 模块与界面概览 170
5.1.3 开发环境 172
5.2 功能预览及框架 172
5.2.1 项目功能预览 172
5.2.2 项目目录结构 175
5.3 开发前的准备工作 177
5.3.1 数据库表的设计 177
5.3.2 百度地图键值的申请 178
5.3.3 百度地图的显示 179
5.3.4 XML资源文件的准备 180
5.4 辅助工具类的开发 182
5.4.1 常量类的开发 182
5.4.2 工具类的开发 183
5.4.3 换乘路径规划工具类的开发 184
5.4.4 定位和获取附近公交站
工具类的开发 185
5.5 各个功能模块的实现 186
5.5.1 选择城市界面模块的实现 186
5.5.2 主界面模块的实现 189
5.5.3 线路查询模块的实现 191
5.5.4 换乘方案查询模块的实现 200
5.5.5 定位附近站点模块的开发 208
5.6 本章小结 215
第6章 校园服务类应用——社团宝 216
6.1 应用背景及功能介绍 216
6.1.1 软件背景简介 216
6.1.2 软件功能概述 216
6.1.3 软件开发环境与目标平台 218
6.2 功能预览及架构 219
6.2.1 管理端功能预览 219
6.2.2 Android端功能预览 220
6.2.3 目录结构图 223
6.3 开发前的准备工作 224
6.3.1 数据库设计 224
6.3.2 数据库表设计 225
6.3.3 使用Navicat for MySQL创建
表并插入初始数据 228
6.4 服务器端的实现 229
6.4.1 常量类的开发 229
6.4.2 服务线程的开发 229
6.4.3 辅助工具类 231
6.4.4 其他方法的开发 232
6.5 管理端功能搭建及界面实现 233
6.5.1 用户登录功能的实现 233
6.5.2 主管理界面功能的开发 234
6.5.3 社团管理功能的开发 236
6.5.4 意见管理功能的开发 238
6.5.5 账号管理功能的开发 238
6.6 Android客户端各功能模板实现 240
6.6.1 整体框架的搭建 240
6.6.2 常量类的开发 244
6.6.3 自定义字体类的开发 244
6.6.4 启动界面功能的实现 245
6.6.5 调用系统浏览器 246
6.6.6 滚动加载功能的实现 247
6.6.7 Android端与服务器的连接 250
6.6.8 个人功能模块的实现 251
6.6.9 图片处理 256
6.6.10 Exit类的搭建 257
6.6.11 社团主界面的构建 258
6.6.12 活动主界面的构建 259
6.6.13 社交主界面的构建 261
6.6.14 社交功能的实现 262
6.7 本章小结 263
第7章 校园辅助软件——手机新生小助手 264
7.1 应用背景及功能介绍 264
7.1.1 新生小助手背景简介 264
7.1.2 新生小助手功能概述 264
7.1.3 新生小助手开发环境 265
7.2 功能预览及架构 265
7.2.1 新生小助手功能预览 266
7.2.2 新生小助手目录结构图 269
7.3 开发前的准备工作 271
7.3.1 文本信息的搜集 272
7.3.2 相关图片的采集 274
7.3.3 数据包的整理 276
7.3.4 XML资源文件的准备 277
7.4 辅助工具类的开发 278
7.4.1 常量类的开发 278
7.4.2 图片获取类的开发 278
7.4.3 解压文件类的开发 279
7.4.4 读取文件类的开发 280
7.4.5 自定义字体类的开发 280
7.4.6 平面图数据类的开发 281
7.5 加载功能模块的实现 286
7.6 各个功能模块的实现 289
7.6.1 新生小助手主界面模块的实现 289
7.6.2 认识联大模块的实现 291
7.6.3 报到流程模块的实现 304
7.6.4 校内导航模块的实现 305
7.6.5 唐山导航模块的实现 307
7.6.6 更多信息模块的实现 313
7.7 本章小结 314
第8章 生活辅助类应用——美食天下 315
8.1 系统的功能介绍 315
8.1.1 美食天下功能概述 315
8.1.2 应用开发环境和目标平台 317
8.2 开发前的准备工作 317
8.2.1 数据库设计 318
8.2.2 数据库表的设计 319
8.2.3 使用Navicat Lite for MySQL
创建新表并插入初始数据 324
8.3 系统功能预览及总体架构 325
8.3.1 PC端预览 325
8.3.2 Android客户端功能预览 328
8.3.3 Android客户端目录结构图 331
8.4 PC端的界面搭建与功能实现 332
8.4.1 用户登录功能的开发 332
8.4.2 主管理界面功能的开发 334
8.4.3 菜品添加功能的开发 335
8.4.4 菜品信息管理功能的开发 338
8.5 服务器端的实现 342
8.5.1 常量类的开发 342
8.5.2 服务线程的开发 343
8.5.3 DB处理类的开发 344
8.5.4 图片处理类 345
8.5.5 其他方法的开发 346
8.6 Android客户端的准备工作 346
8.6.1 图片资源的准备 346
8.6.2 XML资源文件的准备 347
8.6.3 本地数据库的准备 347
8.6.4 常量类的准备 350
8.7 Android定位功能的开发 350
8.7.1 创建应用以及百度地图SDK的
下载 350
8.7.2 手机定位功能的实现 353
8.8 Android客户端功能的实现 354
8.8.1 主界面的实现 354
8.8.2 查找菜品功能的实现 356
8.8.3 上传菜品功能的实现 362
8.8.4 菜品评论功能的实现 364
8.8.5 查看离线菜品和随拍功能的
实现 365
8.9 Android客户端与服务器连接的实现 367
8.9.1 Android客户端与服务器连接
中的各类功能 367
8.9.2 Android客户端与服务器连接
中各类功能的开发 368
8.9.3 其他方法的开发 371
8.10 本章小结 371
第9章 音乐休闲软件——百纳网络音乐
播放器 372
9.1 系统的功能介绍 372
9.1.1 百纳音乐播放器功能概述 372
9.1.2 百纳音乐播放器开发环境和
目标平台 373
9.2 开发前的准备工作 374
9.2.1 数据库表的设计 374
9.2.2 数据库表的创建 375
9.2.3 使用Navicat for MySQL创建
新表并插入初始数据 377
9.3 系统功能预览及总体架构 378
9.3.1 PC端预览 378
9.3.2 Android客户端功能预览 380
9.3.3 Android客户端目录结构图 382
9.4 PC端的界面搭建与功能实现 383
9.4.1 用户登录功能的开发 383
9.4.2 主管理界面功能的开发 385
9.4.3 歌手管理功能的开发 386
9.4.4 歌曲管理功能的开发 389
9.4.5 专辑的功能的开发 390
9.5 服务器端的实现 392
9.5.1 常量类的开发 392
9.5.2 服务线程的开发 392
9.5.3 DB处理类的开发 394
9.5.4 图片处理类 395
9.5.5 辅助工具类 395
9.5.6 其他方法的开发 397
9.6 Android客户端的准备工作 397
9.6.1 图片资源的准备 397
9.6.2 XML资源文件的准备 397
9.6.3 本地数据库的准备 398
9.6.4 常量类的准备 400
9.7 Android客户端基本构架的开发 400
9.7.1 音乐播放器的基本构架 400
9.7.2 音乐播放模块的开发 401
9.7.3 音乐切换模块的开发 404
9.8 Android客户端功能模块的实现 406
9.8.1 主界面的实现 406
9.8.2 扫描音乐的实现 408
9.8.3 音乐列表的实现 410
9.8.4 播放界面的实现 413
9.8.5 网络界面的实现 418
9.9 Android客户端与服务器连接的实现 419
9.9.1 Android客户端与服务器连接
中的各类功能 419
9.9.2 Android客户端与服务器连接
中各类功能的开发 419
9.9.3 其他方法的开发 421
9.10 本章小结 421
第 10章 中学教育AR应用——化学可视
体验 422
10.1 背景以及功能概述 422
10.1.1 开发背景概述 422
10.1.2 应用功能简介 423
10.2 应用的策划及准备工作 424
10.2.1 应用的策划 424
10.2.2 开发前的准备工作 425
10.2.3 资料卡片的结构及制作 428
10.2.4 Vuforia部分的配置 429
10.2.5 服务器端数据包简介 430
10.3 应用的架构 431
10.3.1 各个类的简要介绍 432
10.3.2 应用架构简介 434
10.4 Vuforia相关类 435
10.5 界面绘制类 443
10.5.1 界面控制类 443
10.5.2 单独界面类 445
10.6 线程类 459
10.7 工具类 462
10.7.1 下载工具类 462
10.7.2 读取txt和bitmap工具类 464
10.7.3 解压缩工具类 467
10.7.4 读取模型工具类 468
10.8 常量类 469
10.9 管理类 471
10.9.1 声音管理类 471
10.9.2 着色器管理类 472
10.9.3 图片管理类 473
10.10 应用中着色器的开发 475
10.10.1 绘制3D模型的着色器 475
10.10.2 绘制2D界面的着色器 476
10.10.3 绘制波浪矩形的着色器 477
10.11 应用的优化与改进 478
第 11章 益智类游戏——污水征服者 480
11.1 游戏背景及功能概述 480
11.1.1 背景概述 480
11.1.2 功能介绍 480
11.2 游戏的策划及准备工作 483
11.2.1 游戏的策划 483
11.2.2 安卓平台下游戏开发的
准备工作 483
11.3 游戏的架构 487
11.3.1 各个类的简要介绍 487
11.3.2 游戏框架简介 489
11.4 常量及公共类 491
11.4.1 游戏主控类WaterActivity 491
11.4.2 游戏常量类Constant 494
11.5 界面相关类 495
11.5.1 游戏界面管理类
ViewManager 495
11.5.2 欢迎界面类
BNWelcomeView 497
11.5.3 选关界面类BNSelectView 500
11.5.4 主菜单界面类
BNMenuView 505
11.5.5 游戏界面类BNGameView2 507
11.5.6 纹理矩形绘制类
RectForDraw 519
11.5.7 地图数据结构相关类 521
11.5.8 屏幕自适应相关类 522
11.6 线程相关类 524
11.6.1 计算缓冲线程类
CalculateFloatBufferThread 524
11.6.2 物理刷帧线程类
UpdateThread 525
11.6.3 火焰线程类
FireUpdateThread 527
11.7 水粒子计算相关类 528
11.7.1 单个水粒子类Particle 528
11.7.2 单个网格节点类Node 529
11.7.3 物理计算类PhyCaulate 529
11.8 游戏中着色器的开发 532
11.8.1 纹理的着色器 533
11.8.2 图像渐变的着色器 533
11.8.3 水纹理的着色器 534
11.8.4 加载界面闪屏纹理的
着色器 534
11.8.5 胜利失败对话框的纹理
着色器 535
11.8.6 烟火的纹理着色器 535
11.9 游戏地图数据文件介绍 536
11.10 游戏的优化及改进 537
第 12章 生活服务类应用——驾考宝典 538
12.1 应用背景及功能介绍 538
12.1.1 驾考宝典背景简介 538
12.1.2 驾考宝典功能概述 539
12.1.3 开发环境与目标平台 541
12.2 功能预览及架构 542
12.2.1 安卓端功能预览 542
12.2.2 PC端功能预览 546
12.2.3 目录结构图 549
12.3 开发前的准备工作 549
12.3.1 数据库设计 549
12.3.2 数据库表设计 551
12.3.3 使用Navicat for MySQL
创建表并插入初始数据 552
12.4 服务器端的实现 553
12.4.1 常量类的开发 553
12.4.2 服务线程的开发 554
12.4.3 DB处理类的开发 555
12.4.4 图片处理类 556
12.4.5 辅助工具类 557
12.4.6 其他方法的开发 560
12.5 PC端功能搭建及界面实现 560
12.5.1 用户登录功能的实现 560
12.5.2 主管理界面功能的开发 561
12.5.3 管理员信息及其他类型信息的开发 563
12.5.4 试题管理功能的开发 564
12.5.5 论坛管理功能的开发 566
12.6 Android客户端各功能模板实现 566
12.6.1 整体框架的搭建 566
12.6.2 常量类的开发 569
12.6.3 侧滑界面的实现 569
12.6.4 调用系统浏览器 571
12.6.5 启动界面功能的实现 572
12.6.6 定位功能的实现 573
12.6.7 返回键的监听 574
12.6.8 选车界面的实现 575
12.6.9 选驾校界面的实现 576
12.6.10 Android端与服务器的
连接 577
12.6.11 答题界面模块的实现 578
12.6.12 考试记录等功能的实现 582
12.6.13 车友圈模块的实现 584
12.6.14 个人中心模块的实现 587
12.7 本章小结 592
评论
还没有评论。