关于我们
书单推荐
新书推荐
|
Android应用案例开发大全 第4版
本书以讲解Android手机综合应用程序开发为主题,通过11个典型范例全面且深入地讲解了单机应用、网络应用、商业案例、游戏案例等多个开发技术。
全书共分12章,详细介绍了3D动态壁纸百纳水族馆,LBS类应用掌上杭州,营销管理系统手机汽车4S店,LBS交通软件百纳公交小助手,校园服务类应用社团宝,校园辅助软件手机新生小助手,生活辅助类应用美食天下,音乐休闲软件百纳网络音乐播放器,中学教育AR应用化学可视体验,益智类游戏污水征服者,生活服务类应用驾考宝典等Android应用的开发技术。书中所有案例的全部源代码读者都可以通过网络下载,方便学习。
本书以真实的项目开发为写作背景,具有很强的实用性和实战性。讲解上深入浅出、通俗易懂,既有Android开发的实战技术和技巧,也包括真实项目的策划方案。本书非常适合初学者或有一定Android基础并希望学习Android开发技术的读者使用。
1.技术新颖,贴近实战
本书涵盖了现实中几乎所有的流行技术,如传感器、OpenGL ES 3.0、增强现实、动态壁纸、LBS百度地图的二次开发、移动办公、实时流体仿真计算引擎、服务端和Android端的交互等。
2.实例丰富,讲解详细
本书既包括单机版客户端项目,也有服务端和Android端的结合开发;既包括典型的商业软件,也包括休闲娱乐项目,还有流行的增强现实热门案例以及借助OpenGL ES 3.0渲染的逼真场景。
3.案例经典,含金量高
本书中的案例均是精心挑选的,不同类型的案例有着其独特的开发方式。以真实的项目开发为讲解背景,包括大型商务软件、增强现实应用、益智游戏等,讲解了开发时的思路,真实项目的策划方案,以期让读者全面地掌握手机应用及游戏的开发,具有很高的含金量,非常适合各类读者学习。
吴亚峰,毕业于北京邮电大学,后留学澳大利亚卧龙岗大学取得硕士学位。1998年开始从事Java应用的开发,有十多年的Java开发与培训经验。主要的研究方向为OpenGL ES、手机游戏、Java EE以及搜索引擎。同时为手机游戏、Java EE独立软件开发工程师,并兼任百纳科技Java培训中心培训师。近十年来为数十家企业培养了上千名软件开发人员,曾编写过《Android应用案例开发大全》(第 1版~第3版)、《Android游戏开发大全》(第 1版~第3版)、《OpenGL ES 3.x游戏开发(上、下卷)》《Cocos2d-x 3.x游戏案例开发大全》《Unity 5.x 3D游戏开发技术详解与典型案例》等多本畅销技术书。2008年年初开始关注Android平台下的3D应用开发,并开发出一系列的Android应用程序与3D游戏。
苏亚光,哈尔滨理工大学硕士,从业于计算机软件领域十多年,在软件开发和计算机教学方面有着丰富的经验,曾编写过《Android游戏开发大全》《Android 3D游戏开发技术详解与典型案例》《Android应用案例开发大全》等多本畅销技术书。2008年开始关注Android平台下的应用开发,参与开发了多款手机2D/3D游戏应用。
于复兴,北京科技大学硕士,从业于计算机软件领域十余年,在软件开发和计算机教学方面有着丰富的经验。工作期间曾主持科研项目PSP流量可视化检测系统研究与实现,主持研发了多项省市级项目,同时为多家企事业单位设计开发了管理信息系统,并在科技刊物上发表多篇相关论文。2008年开始关注Android平台下的应用开发,参与开发了多款手机3D游戏应用。
目 录
第 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 ExplorerSD 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
你还可能感兴趣
我要评论
|