Android物联网开发:基于Android Studio环境

更多详情

内容简介: 《Android物联网开发:基于Android Studio环境》基于最新的Android Studio开发环境,循序渐进地讲解了 Android物联网开发过程的主要内容,依次讲解了开发环境的搭建、界面设计、应用程序开发、数据的存储和访问、网络摄像机访问、物联网语音识别、物联网多媒体动画、物联网网络开发、无线通信、访问智能电表或智能插座和应用程序的托管和发布等内容,在讲解每一个知识点时,都遵循了理论联系实际的讲解方式,配以实战演练,透彻剖析了物联网项目开发的完整实现流程。
通过对《Android物联网开发:基于Android Studio环境》的学习可以极大地提高开发者的Android开发技术能力,向Android高级开发者进阶。对于高级开发者来说,仍然可以从《Android物联网开发:基于Android Studio环境》的知识体系中获益。
《Android物联网开发:基于Android Studio环境》适用于对Java编程有一定基础、希望掌握Android物联网相关应用开发的读者,适合作为高等职业院校物联网或计算机专业的教材,或可作为Android程序设计的培训教材,也可供广大Android开发爱好者使用。

目录: 第一部分 基础知识
第1章 Android开发简介 1
1.1 Android介绍 2
1.2 Android系统构架 2
1.3 Android应用程序框架 5
1.4 本章小结 7
第2章 Android开发环境的搭建 8
2.1 获取Android源码 9
2.1.1 在Linux系统中获取Android源码 9
2.1.2 在Windows平台获取Android源码 10
2.1.3 编译源码 12
2.2 Android Studio应用开发 14
2.2.1 搭建Android Studio应用开发环境 15
2.2.2 创建第一个Android项目:HelloWorld 18
2.2.3 启动模拟器 19
2.2.4 运行到模拟器 21
2.2.5 下载到真机 22
2.2.6 详解项目中的资源 22
2.2.7 详解build.gradle文件 25
2.2.8 导入外部项目和Eclipse开发的Android项目 29
2.2.9 添加外部库 31
2.2.10 应用程序的调试 32
2.2.11 项目实战:下载Android的各个版本 34
2.3 本章小结 35
第3章 Android界面设计 36
3.1 用户界面基础 37
3.2 Android的Activity 38
3.2.1 Activity的介绍 38
3.2.2 Activity的生命周期 40
3.2.3 创建一个Activity 42
3.2.4 创建和加载布局 43
3.2.5 销毁一个Activity 46
3.2.6 使用Intent在Activity之间穿梭 46
3.2.7 Intent调用常见系统组件 51
3.3 常用控件的使用方法 53
3.3.1 TextView和EditText 53
3.3.2 Button、ToggleButton 和ImageView 54
3.3.3 Spinner 56
3.3.4 ListView 58
3.3.5 AlertDialog 64
3.3.6 ProgressBar 65
3.4 Android布局 67
3.4.1 线性布局 69
3.4.2 相对布局 71
3.4.3 表格布局 73
3.4.4 百分比布局 77
3.4.5 嵌套布局实现计算器界面 79
3.5 样式和主题 85
3.5.1 定义样式 86
3.5.2 使用样式 87
3.5.3 主题 87
3.6 新控件RecyclerView、CardView和Palette的使用 88
3.6.1 新控件的使用 90
3.6.2 实现纵向滚动和横向滚动 95
3.6.3 RecyclerView的点击事件 96
3.7 Android新控件 97
3.8 综合项目实战:WebView实现监控界面 99
3.9 本章小结 102
第4章 创建Android应用程序 103
4.1 概述 104
4.2 事件处理机制 105
4.2.1 基于监听器的事件处理 106
4.2.2 基于回调的事件处理 107
4.2.3 事件响应的实现 107
4.2.4 项目实战:获取屏幕触点坐标 107
4.3 Android多线程 110
4.3.1 线程的基本用法 110
4.3.2 在子线程更新UI 111
4.3.3 Android线程池 114
4.3.4 Android四种线程池实例 115
4.4 Android广播组件 119
4.4.1 动态注册广播 120
4.4.2 静态注册广播 122
4.4.3 自定义本地广播 123
4.5 后台服务(Service) 125
4.5.1 定义一个服务 125
4.5.2 启动和停止服务 128
4.5.3 Service和Activity通信 130
4.6 Android实现多任务 132
4.6.1 多任务实现原理 133
4.6.2 用Handler实现多任务 134
4.6.3 项目实战:Handler实现模拟下载 135
4.6.4 AsyncTask实现多任务 137
4.6.5 项目实战:AsyncTask实现计时 138
4.7 本章小结 139
第5章 Android中数据的存储和访问 140
5.1 简介 141
5.2 使用共同偏好的存取数据 141
5.2.1 存取共享偏好 141
5.2.2 Preference框架 145
5.3 文件读取和保存 149
5.3.1 内部存储 149
5.3.2 扩展存储 150
5.4 存取结构化数据 150
5.4.1 SQLite简介 151
5.4.2 创建SQLite数据库 152
5.4.3 操作数据库 153
5.5 使用LitePal操作数据库 156
5.5.1 LitePal简介 156
5.5.2 配置LitePal 156
5.5.3 创建和升级数据库 158
5.5.4 SQLite命令调试 162
5.5.5 数据库操作 163
5.6 网络存储 168
5.7 本章小结 169
第6章 ContentProvider 170
6.1 查询记录 171
6.2 修改记录 172
6.3 添加记录 172
6.4 删除记录 173
6.5 创建Content Provider 173
6.6 本章小结 177
第二部分 物联网应用
第7章 移动智能终端访问网络摄像机 178
7.1 简介 179
7.2 网络摄像机 179
7.3 系统实现 180
7.3.1 介绍 181
7.3.2 网络摄像机参数设置 182
7.3.3 智能手机端视频监控软件 183
7.4 本章小结 192
第8章 物联网语音识别开发 193
8.1 语音识别技术概述 194
8.2 TTS语音识别技术 194
8.2.1 TTS基础 194
8.2.2 TTS开发流程 196
8.2.3 项目实战:TTS文字识别实例 197
8.3 Voice Recognition语言识别 201
8.3.1 Voice Recognition技术基础 201
8.3.2 项目实战:Voice Recognition语音识别 203
8.4 本章小结 206
第9章 在物联网中媒体动画的实现 207
9.1 Android多媒体系统架构基础 208
9.2 Graphics类详解 208
9.2.1 Graphics类基础 209
9.2.2 Android图形绘制类 209
9.2.3 绘制基本图形 210
9.3 二维动画 212
9.3.1 类Drawable 213
9.3.2 实现Tween动画效果 214
9.3.3 Tween动画的四种动画效果 215
9.3.4 实现Frame动画效果 219
9.4 项目实战:物联网环境控制动画 221
9.5 OpenGL ES详解 224
9.5.1 OpenGL ES基础 224
9.5.2 Android中的OpenGL ES 226
9.5.3 Open GL的基本操作 226
9.5.4 项目实战:利用OpenGL实现旋转的立方体 227
9.6 音频实现 232
9.6.1 音频接口类 232
9.6.2 AudioManager控制铃声 232
9.6.3 录音详解 233
9.6.4 项目实战:使用MediaPlay播放音乐 235
9.7 二维码的识别 238
9.7.1 二维码介绍 238
9.7.2 项目实战:Android实现二维码识别 241
9.8 本章小结 247
第10章 Android网络开发 248
10.1 Android Socket网络传输 249
10.1.1 什么是Socket 249
10.1.2 Socket的分类 249
10.1.3 Socket基本实现原理 249
10.1.4 Android实现Socket简单通信 250
10.1.5 Android客户端和PC服务器端通信 253
10.2 Android HTTP网络传输 258
10.2.1 HttpURLConnection接口 258
10.2.2 项目实战:HttpURLConnection获取信息 260
10.2.3 使用OkHttp 263
10.2.4 项目实战:OkHttp获取信息 265
10.3 Android应用程序的权限 267
10.3.1 Android权限机制详解 267
10.3.2 在程序运行时申请权限 270
10.4 解析XML格式数据 274
10.4.1 Pull解析方式 274
10.4.2 SAX解析方式 276
10.5 解析JSON格式数据 279
10.5.1 使用JSONObject 280
10.5.2 使用GSON 281
10.6 本章小结 284
第11章 Android无线通信 285
11.1 Android蓝牙传输数据 286
11.1.1 蓝牙介绍 286
11.1.2 蓝牙体系结构 287
11.1.3 蓝牙软件的实现 289
11.1.4 Android的蓝牙接口类 292
11.1.5 Android蓝牙开发步骤 295
11.1.6 项目实战:查找蓝牙设备 300
11.1.7 项目实战:Android手机蓝牙控制智能小车 308
11.2 Android系统中的NFC 321
11.2.1 近场通信技术基础 322
11.2.2 在Android系统中使用NFC 322
11.2.3 项目实战:在Android中使用NFC读取MifareClassic卡 326
11.3 本章小结 331
第12章 Android访问智能电表或智能插座 332
12.1 简介 333
12.1.1 RS-485接口智能插座 335
12.1.2 无线智能插座 339
12.1.3 智能电表 340
12.2 使用智能手机访问智能电表或智能插座 344
12.2.1 使用智能手机访问智能电表或智能插座的方案 344
12.2.2 使用智能手机访问Wi-Fi型智能插座或智能电表的方案 345
12.3 使用Android访问智能电表或智能插座 346
12.3.1 智能手机和Pad之间的数据通信 347
12.3.2 蓝牙通信实现 349
12.3.3 访问智能电表或智能插座的命令格式 354
12.4 本章小结 354
第三部分 综合实战
第13章 UI新体验--Material Design 355
13.1 什么是Material Design 356
13.2 Design Support库的使用 356
13.3 DrawerLayout和Navigation View 357
13.4 Material Design开源项目 363
13.5 本章小结 366
第14章 综合项目:Cool Weather 367
14.1 项目分析 368
14.2 创建数据库和表 369
14.3 遍历全国省、市、县数据 371
14.4 设计天气信息界面 374
14.5 省、市、县数据界面处理 374
14.6 处理返回的JSON数据 379
14.7 将天气信息显示到界面上 381
14.8 后台自动更新天气 384
第15章 Android应用程序托管和发布 387
15.1 Git版本控制工具 388
15.1.1 安装Git 388
15.1.2 创建代码仓库 389
15.1.3 提交本地代码 391
15.2 GitHub 392
15.2.1 在GitHub注册创建版本库 392
15.2.2 将代码托管到GitHub 395
15.3 将应用程序发布到360应用商店 398
15.3.1 生成正式签名的APK文件 398
15.3.2 申请360开发账号 400
15.3.3 发布应用程序 401
15.3.4 嵌入广告 403
15.4 本章小结 407
参考文献 408

前言: 感谢您选择本书。为了帮助您更好地学习本书的知识,请仔细阅读下面的内容。
物联网作为一个新经济增长点的战略新兴产业,具有良好的市场效益。《2014-2018年中国物联网行业应用领域市场需求与投资预测分析报告》数据表明,到2025年,物联网型业务的市场规模每年将达10万亿美元。届时,除了消费级的可穿戴设备、智能家居产品,以及企业级的嵌入电网、配水网络和工业用地等物理基础设施的仪表化外,物联网技术将进一步渗透到五大核心支柱的新计算生态系统内,如互联设备、"边缘"控制、本地数据中心、公有云及搭配设施上,物联网相关产业、行业、企业的高速发展迫切需要更多的技能型人才。
本教材主要针对物联网应用领域,以移动终端为应用平台,研究Android在物联网的相关应用。通过对本书的学习,读者可以牢固掌握Android编程技术的基本知识,通过典型物联网实践的运用,能够进行应用程序的实际开发,获得必要的物联网移动终端开发的基础知识和应用技能,为培养综合应用打下基础。
全书共15章,具体内容介绍如下。
第1~6章为基础部分:Android简介;Android系统和应用程序框架;Android开发环境的搭建和使用;Android用户界面(包括新控件)的相关知识;Android应用程序的相关知识:事件处理机制、多线程、广播组件、Service组件和Android实现多任务;Android系统中应用程序存储和访问数据的方法,包括最新的LitePal的使用方法;内容提供器的使用。
第7~12章是典型物联网的应用部分:网络摄像机的访问;物联网语音识别开发,包括语音识别技术的发展历史、TTS识别文字的方法和 Voice Recognition识别语音的方法;物联网中媒体动画的实现,包括Android多媒体系统架构基础、Graphics类和Drawable类、Drawable类实现二维动画、MediaPlayer类的使用和Android扫描二维码的方法;Android物联网网络开发,包括Socket、HTTP网络、XML和JSON数据格式解析、Android蓝牙通信和Android系统中的NFC;使用智能手机访问智能电表或智能插座的方案。
第13~15章是综合实战部分:Android最新的界面设计--Material Design,详细介绍了其中最常用的DrawerLayout和Navigation View的联合使用,以及Material Design的一些开源项目;选择典型的天气预报项目,详细说明了实现过程;Git和GitHub的使用,以及将应用程序发布到360应用商店及嵌入广告的方法。
本书有下列特点。
(1)面向应用。本书按照应用的特点进行编写,以应用为主线进行内容讲解。
(2)有序分类。按照循序渐进的学习方式,对学习内容重新进行了整理排序,使得每一章既具有独立性,又在整体上具有完整性。
(3)体现新技术的应用。
(4)主要章节都有综合实例,是对本章的综合应用。
对在写作过程中给予帮助的朋友们,在此表示深深的谢意,感谢电子工业出版社给予的帮助。由于编写时间仓促,加之作者水平有限,书中疏漏和错误之处在所难免,望广大专家、读者提出宝贵意见,以便修订时加以改正。