热门关键字:  听力密码  听力密码  新概念美语  单词密码  巧用听写练听力
图书信息

Android项目开发实战

中国水利水电出版社
    【作 者】赵善龙 李旭东 【I S B N 】978-7-5170-6702-3 【责任编辑】张玉玲 【适用读者群】本专通用 【出版时间】2018-10-15 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第1版第1次印刷 【页 数】272 【千字数】420 【印 张】17 【定 价】36 【丛 书】高等职业教育“十三五”规划教材(移动互联应用技术专业) 【备注信息】
图书详情

    本书规划了Android从入门到进阶过程中最重要的知识体系,将知识、技术与技巧充分渗透到多个独立且完整的Android应用实战项目中,带领读者一同参与到真正的企业开发流程,使读者有条不紊地掌握完整的项目开发技术,循序渐进地具备企业级移动应用开发的能力。在程序实例讲解方面,注重对实际动手能力的指导;在遵循项目开发过程的同时,将重要知识点和经验技巧以“关键知识点解析”的形式呈现给读者,这为初学者将学习与实践结合提供了很好的指导。

    本书可作为大学本科和高职高专有关课程的实训教材,也可供具备一定手机开发经验的开发者及Android开发爱好者参考和使用。

    精编实践案例,图文并茂,帮你掌握开发技能

    资深教学团队,Android开发企业级导师倾情教授

    适用群体广泛,旨在培养具有企业移动应用开发能力的应用型人才

    在移动编程技术中,Android将开发者使用最多的Java语言作为基础语言,为众多已掌握Java编程技术的开发者降低了学习门槛。同时,谷歌对Android进行了从组件到UI各层次较完善和丰富的封装,为开发者提供了大量简洁易用的API和基础UI控件,这也在很大程度上降低了开发者的学习成本。然而摆在众多开发者面前的问题是,很多开发者了解Android中Activity的生命周期各环节被调用的时机,但却对生命周期各环节应该编写哪部分代码不得其法;很多开发者了解UI控件的使用方法,但却在通过网络获取数据后刷新UI方面力不从心;很多开发者了解如何使用ListView展示列表数据,但当数据量稍微增大时程序就会出现卡顿甚至崩溃;很多开发者可以熟练地绘制布局并在模拟器上显示完整,但一旦到了某些真机上,画面却惨不忍睹。事实上,如何综合地运用Android开发技术进行规范的应用开发,如何使自己的开发技术与企业开发流程接轨,如何更好地优化应用,使应用适配更广泛的机型而且程序更加健壮,的确是使许多通过自学成长的开发者深受困扰的问题。凭借多年的院校教学经验和企业实践经验,我们深知Android初学者在学习和成长过程中的痛点。针对这些痛点,本书规划了Android从入门到进阶过程中最重要的知识体系,将知识、技术与技巧充分渗透到多个独立且完整的Android应用实战项目中,带领读者一同参与到真正的企业开发流程中,使读者有条不紊地掌握完整的项目开发技术,循序渐进地具备企业级移动应用开发的能力。

    在开始项目实战之前,需要读者对本书的知识结构体系图进行初步了解,读者应在掌握预备知识的基础上对本书项目进行逐一学习。本书将着重对基础组件、UI、线程与线程间通信、网络通信、数据解析和数据存储六大部分在项目中的应用进行讲解。下面介绍每个项目重点训练的知识点。

    项目1主要针对项目构建、布局、基础控件和按钮的点击事件进行实战。

    项目2主要针对应用的架构搭建、ListView的使用方法和技巧、自定义Adapter的方法进行实战。

    项目3主要针对本地文件存储、自定义控件、onTouch事件处理及Canvas进行实战。

    项目4主要针对图片处理及优化、文件读写、ContentProvider进行实战。

    项目5主要针对线程间通信、时钟、Service进行实战。

    项目6主要针对线程间通信、HTTP、BroadcastReceiver、Service进行实战。

    项目7主要针对Fragment、XML解析、WebView进行实战。

    项目8主要针对HttpClient、JSON解析、网络通信的封装进行实战。

    项目9主要针对BroadcastReceiver、Service、AIDL和电话操作进行实战。

    项目10主要针对蓝牙通信进行实战。

    项目11主要针对Socket、Handle和消息队列进行实战。

    项目12主要针对百度地图、定位、SQLiteOpenHelper和自动更新进行实战。

    本书由赵善龙、李旭东任主编,姜培育、李春宝任副主编,另外还要感谢周益丹编辑对本书提出了非常宝贵的意见,特别是书中内容的编排、难易程度的把握、案例的选取和文叙风格等。

    由于编者水平有限,书中不妥之处在所难免,恳请读者批评指正。

    编 者

    2018年6月

    项目1 简易计算器 1
    1.1 总体设计 1
    1.1.1 总体分析 1
    1.1.2 功能模块框图 2
    1.1.3 系统流程图 2
    1.1.4 界面设计 2
    1.2 详细设计 4
    1.2.1 模块描述 4
    1.2.2 系统包及其资源规划 5
    1.2.3 主要方法流程设计 5
    1.3 代码实现 7
    1.3.1 显示界面布局 7
    1.3.2 控件设计实现 7
    1.3.3 控件事件处理方法实现 12
    1.3.4 数值计算方法实现 15
    1.4 关键知识点解析 16
    1.4.1 在程序中创建菜单 16
    1.4.2 基础界面布局 19
    1.4.3 设置程序名称和图标 21
    1.4.4 常用文本输入控件及按钮 21
    1.4.5 为按钮增加多种样式—selector 26
    1.4.6 多分辨率适配利器—LinearLayout 28
    1.5 问题与讨论 30
    项目2 基于离线数据的天气应用—
    天气预报(一) 31
    2.1 总体设计 31
    2.1.1 总体分析 31
    2.1.2 功能模块框图 32
    2.1.3 系统流程图 32
    2.1.4 界面设计 33
    2.2 详细设计 34
    2.2.1 模块描述 34
    2.2.2 系统包及其资源规划 36
    2.2.3 主要方法流程设计 39
    2.3 代码实现 39
    2.3.1 显示界面布局 39
    2.3.2 控件设计实现 39
    2.3.3 主要代码功能分析 43
    2.4 关键知识点解析 49
    2.4.1 ListView控件的用法 49
    2.4.2 自定义适配器 52
    2.4.3 GridView控件的用法 57
    2.4.4 ViewPager控件的用法 57
    2.4.5 ListView中存在按钮时导致ListItem点击无效的解决方案 60
    2.5 问题与讨论 60
    项目3 天天爱读书手机阅读器 61
    3.1 总体设计 61
    3.1.1 功能模块框图 62
    3.1.2 系统流程图 62
    3.1.3 界面设计 63
    3.2 详细设计 63
    3.2.1 模块描述 63
    3.2.2 系统包及其资源规划 64
    3.2.3 主要方法流程设计 66
    3.3 代码实现 67
    3.3.1 显示界面布局 67
    3.3.2 Touch事件方法实现 68
    3.4 关键知识点解析 69
    3.4.1 Android的Touch事件处理机制 69
    3.4.2 掌握自定义控件 70
    3.5 问题与讨论 73
    项目4 基于本地图库的图片应用—幻彩手机相册 74
    4.1 总体设计 74
    4.1.1 功能模块框图 74
    4.1.2 系统流程图 74
    4.1.3 界面设计 76
    4.2 详细设计 76
    4.2.1 模块描述 76
    4.2.2 系统包及其资源规划 77
    4.2.3 主要方法流程设计 80
    4.3 代码实现 81
    4.3.1 显示界面布局 81
    4.3.2 读取手机图库方法实现 82
    4.3.3 图片方向的判断 83
    4.3.4 图片压缩 84
    4.3.5 使用Android提供的媒体播放器
    (MediaPlayer) 85
    4.4 关键知识点解析 87
    4.4.1 图片加载到内存OOM 87
    4.4.2 大量图片的缓存处理 89
    4.5 问题与讨论 90
    项目5 学习监督器 91
    5.1 总体设计 91
    5.1.1 总体分析 91
    5.1.2 功能模块框图 91
    5.1.3 系统流程图 92
    5.1.4 界面设计 92
    5.2 详细设计 94
    5.2.1 系统包及其资源规划 94
    5.2.2 时间设置Activity设计 94
    5.2.3 后台服务设计 95
    5.3 代码实现 96
    5.3.1 显示界面布局 96
    5.3.2 构建一个服务 97
    5.3.3 创建启动服务 99
    5.3.4 监控网络变化 102
    5.3.5 时间比较 103
    5.3.6 创建绑定的服务 104
    5.3.7 使用Activity作为Dialog 105
    5.4 关键知识点解析 106
    5.4.1 在前台运行服务 106
    5.4.2 服务的生命周期 106
    5.4.3 避免系统回收服务 107
    5.5 问题与讨论 108
    项目6 简易网络音乐播放器 109
    6.1 总体设计 109
    6.1.1 总体分析 109
    6.1.2 功能模块框图 110
    6.1.3 系统流程图 110
    6.1.4 界面设计 110
    6.2 详细设计 111
    6.2.1 模块描述 111
    6.2.2 系统包及其资源规划 113
    6.2.3 主要方法流程设计 115
    6.3 代码实现 115
    6.3.1 显示界面布局 115
    6.3.2 HttpURLConnection网络通信方法
    实现 116
    6.3.3 XML数据解析方法实现 117
    6.4 关键知识点解析 118
    6.4.1 AsyncTask(异步任务)的使用 118
    6.4.2 HttpClient、HttpURLConnection、okHttp和Volley的网络通信对比 119
    6.4.3 HttpClient和HttpURLConnection的使用方法 120
    6.5 问题与讨论 122
    项目7 新闻客户端 123
    7.1 总体设计 123
    7.1.1 功能模块框图 123
    7.1.2 系统流程图 124
    7.1.3 界面设计 124
    7.2 详细设计 125
    7.2.1 模块描述 125
    7.2.2 系统包及其资源规划 126
    7.2.3 主要方法流程设计 128
    7.3 代码实现 129
    7.3.1 显示界面布局 129
    7.3.2 RSS内容读取方法实现 130
    7.3.3 利用WebView显示HTML页面 133
    7.3.4 利用ViewHolder优化AdapterView 133
    7.3.5 Fragment的简单使用方法(FragmentStatePagerAdapter) 134
    7.3.6 菜单的使用技巧(ActionBar) 135
    7.4 关键知识点解析 135
    7.4.1 用户体验 135
    7.4.2 RSS阅读器实现 136
    7.4.3 深入理解XML数据格式 139
    7.5 问题与讨论 145
    项目8 基于网络通信的天气应用—
    天气预报(二) 146
    8.1 总体设计 146
    8.1.1 总体分析 146
    8.1.2 功能模块框图 147
    8.1.3 系统流程图 147
    8.1.4 界面设计 147
    8.2 详细设计 148
    8.2.1 模块描述 148
    8.2.2 系统包及其资源规划 150
    8.2.3 主要方法流程设计 152
    8.3 代码实现 153
    8.3.1 显示界面布局 153
    8.3.2 控件设计实现 153
    8.3.3 天气预报接口方法实现 153
    8.4 关键知识点解析 155
    8.4.1. 在程序中使用天气预报接口 155
    8.4.2 采用MQTT协议实现Android推送 158
    8.5 问题与讨论 167
    项目9 商务通讯录 168
    9.1 总体设计 168
    9.1.1 总体分析 168
    9.1.2 功能模块框图 168
    9.1.3 系统流程图 169
    9.1.4 界面设计 169
    9.2 详细设计 170
    9.2.1 模块描述 170
    9.2.2 系统包及其资源规划 172
    9.2.3 主要方法流程设计 173
    9.3 代码实现 175
    9.3.1 显示界面布局 175
    9.3.2 控件设计实现 176
    9.3.3 监听手机来电服务 179
    9.3.4 挂断电话 180
    9.4 关键知识点解析 182
    9.4.1 进程通信—AIDL的使用 182
    9.4.2 双卡双待手机如何获取来电 186
    9.5 问题与讨论 187
    项目10 蓝牙打印机 188
    10.1 总体设计 188
    10.1.1 总体分析 188
    10.1.2 功能模块框图 188
    10.1.3 系统流程图 189
    10.1.4 界面设计 189
    10.2 详细设计 190
    10.2.1 模块描述 190
    10.2.2 系统包及其资源规划 192
    10.2.3 主要方法流程设计 194
    10.3 代码实现 195
    10.3.1 显示界面布局 195
    10.3.2 控件设计实现 197
    10.3.3 获取图片分享 201
    10.3.4 蓝牙设备和设置可见时间 203
    10.3.5 搜索蓝牙设备 203
    10.3.6 连接蓝牙设备 204
    10.3.7 蓝牙通信 205
    10.4 关键知识点解析 206
    10.4.1 静默开启蓝牙 206
    10.4.2 蓝牙自动配对 207
    10.5 问题与讨论 209
    项目11 基于Socket的Bmop即时通信 210
    11.1 总体设计 210
    11.1.1 总体分析 210
    11.1.2 功能模块框图 210
    11.1.3 系统流程图 211
    11.1.4 界面设计 211
    11.2 详细设计 212
    11.2.1 模块描述 212
    11.2.2 系统包及其资源规划 213
    11.2.3 主要方法流程设计 216
    11.3 代码实现 217
    11.3.1 显示界面布局 217
    11.3.2 控件设计实现 219
    11.3.3 Socket线程 227
    11.3.4 待发消息队列 228
    11.3.5 消息接收 229
    11.4 关键知识点解析 233
    11.4.1 Socket定义 233
    11.4.2 Socket与HTTP对比 233
    11.4.3 使用UDP协议通信 233
    11.5 问题与讨论 234
    项目12 易行打车 235
    12.1 总体设计 235
    12.1.1 总体分析 235
    12.1.2 功能模块框图 235
    12.1.3 系统流程图 236
    12.1.4 界面设计 236
    12.2 详细设计 237
    12.2.1 模块描述 237
    12.2.2 系统包及其资源规划 238
    12.2.3 主要方法流程设计 241
    12.3 代码实现 242
    12.3.1 显示界面布局 242
    12.3.2 控件设计实现 244
    12.3.3 申请百度地图API Key 250
    12.3.4 初始化定位 251
    12.3.5 定位监听 251
    12.3.6 初始化地图View 252
    12.3.7 显示位置信息 252
    12.3.8 获取当前屏幕的经纬度范围 253
    12.3.9 增加多个标注并监听 253
    12.4 关键知识点解析 255
    12.4.1 在线更新 255
    12.4.2 Android的四种定位方式 260
    12.5 问题与讨论 262
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册