第1章 物联网移动软件开发 1
1.1 物联网移动软件开发目标 1
1.2 物联网移动软件开发概要 6
1.2.1 物联网移动软件开发简介 6
1.2.2 物联网移动软件的应用 7
1.3 物联网智能硬件App设计 9
1.4 物联网移动软件开发的发展趋势 9
1.4.1 物联网移动软件的特点 9
1.4.2 物联网移动软件开发的发展 11
1.4.3 移动云计算 12
第2章 欢迎界面设计 14
2.1 欢迎界面设计目标 14
2.2 物联网移动软件设计基础 15
2.2.1 物联网移动软件开发的内容 15
2.2.2 安卓物联网移动软件设计基础 15
2.3 开发工具 17
2.3.1 开发工具的选择 17
2.3.2 Eclipse安装与配置 17
2.3.3 Android Studio安装与配置 23
2.3.4 Obtain_Studio安装与配置 26
2.4 移动软件开发Hello World程序 27
2.4.1 如何启动Obtain_Studio集成开发环境 27
2.4.2 创建Android项目 29
2.4.3 编译和运行 33
2.4.4 Obtain_Studio集成开发系统常用技巧 36
2.5 Android项目 39
2.5.1 Android项目结构 39
2.5.2 Android项目文件 40
2.5.3 Android项目编译与配置文件 43
2.5.4 Android项目全局配置文件 44
2.5.5 Android资源文件 47
2.6 欢迎界面的实现 48
2.6.1 创建项目和编辑文件 48
2.6.2 运行欢迎界面 50
第3章 登录界面布局设计 54
3.1 登录界面布局设计目标 54
3.2 安卓界面布局 55
3.2.1 界面布局文件 55
3.2.2 线性布局 57
3.2.3 相对布局 61
3.2.4 帧布局 63
3.2.5 绝对布局 64
3.2.6 表格布局 66
3.3 Android常用控件 67
3.3.1 Button控件 69
3.3.2 CheckBox控件 70
3.3.3 EditText控件 71
3.3.4 ImageButton控件 74
3.3.5 ImageView控件 75
3.3.6 ListView控件 76
3.3.7 ProgressBar控件 78
3.3.8 RadioButton控件 79
3.3.9 SeekBar控件 80
3.3.10 Spinner控件 81
3.3.11 TabHost巭TabWidget(切换卡) 83
3.3.12 Gallery与ImageSwitcher 85
3.4 自定义按钮背景 85
3.4.1 Shape介绍 85
3.4.2 Shape使用步骤 87
3.4.3 Shape常用属性 88
3.4.4 常见Shape标签的种类 89
3.4.5 自定义背景的按钮 107
3.5 Selector的使用 111
3.6 Android沉浸式状态栏及悬浮效果 114
3.7 登录界面布局的实现 116
第4章 界面切换设计 121
4.1 界面切换设计目标 121
4.2 安卓应用程序组件 122
4.3 Activity 123
4.3.1 Activity类 123
4.3.2 Android事件侦听器 126
4.4 Intent 128
4.4.1 Intent简介 128
4.4.2 Intent实现两个Activity之间切换 130
4.4.3 Intent实现两个Activity之间传递数据 132
4.5 Service 133
4.5.1 Service介绍 133
4.5.2 Service启动流程 134
4.6 消息提示框和对话框 134
4.6.1 Toast消息提示框 134
4.6.2 对话框 137
4.7 Android程序生命周期 139
4.8 广播接收器 141
4.9 界面切换的实现 143
第5章 列表视图界面设计 149
5.1 列表视图界面设计目标 149
5.2 ListView应用 150
5.2.1 ListView列表视图的工作原理 150
5.2.2 SimpleCursorAdapter 151
5.2.3 SimpleAdapter 153
5.2.4 有按钮的ListView 155
5.2.5 getView应用 159
5.3 GridView应用 161
5.4 RecyclerView应用 166
5.5 列表视图界面的实现 170
第6章 导航栏及滑动界面设计 176
6.1 导航栏及滑动界面设计目标 176
6.2 滑动界面设计 177
6.2.1 ViewPager介绍 177
6.2.2 滑动界面实例 178
6.3 导航栏设计 182
6.3.1 导航栏设计方法 182
6.3.2 BottomNavigationView底部导航栏 182
6.4 Fragment 185
6.4.1 Fragment简介 185
6.4.2 Fragment和View的比较 186
6.4.3 Fragment应用 187
6.5 SurfaceView与TextureView 189
6.5.1 SurfaceView 189
6.5.2 TextureView 192
6.6 导航栏及滑动界面设计实例 196
6.7 导航栏及滑动界面的实现 202
第7章 Wi-Fi物联网移动软件设计 209
7.1 Wi-Fi物联网移动软件设计目标 209
7.2 安卓通信程序设计 211
7.2.1 物联网APP安卓端网络编程基础 211
7.2.2 安卓Socket通信基础 212
7.3 Wi-Fi通信概要 216
7.3.1 WLAN通信 216
7.3.2 Wi-Fi通信 217
7.3.3 ESP8266模块的应用 218
7.3.4 Smartconfig 219
7.4 安卓TCP客户端程序实例 220
7.5 Wi-Fi物联网移动软件的实现 223
第8章 蓝牙物联网移动软件设计 238
8.1 蓝牙物联网移动软件设计目标 238
8.2 蓝牙通信概要 239
8.2.1 蓝牙通信介绍 239
8.2.2 低能耗蓝牙(BLE) 241
8.3 CC2541 BLE蓝牙模块应用 242
8.3.1 CC2541 BLE蓝牙模块介绍 242
8.3.2 Android蓝牙BLE编程 243
8.4 蓝牙物联网移动软件的实现 247
8.4.1 蓝牙物联网移动软件界面设计 247
8.4.2 蓝牙物联网移动软件界面程序设计 251
8.4.3 STM32的蓝牙通信程序设计 261
第9章 数据库及动态界面设计 263
9.1 数据库及动态界面设计目标 263
9.2 物联网App安卓端数据存储 264
9.2.1 使用Shared Preferences存储数据 264
9.2.2 使用文件存储数据 265
9.3 安卓端SQLite数据库应用设计 269
9.3.1 安卓端SQLite数据库简介 269
9.3.2 SQLiteDatabase介绍 271
9.3.3 SQLite数据库编程方法 273
9.3.4 SQLiteOpenHelper 278
9.4 数据库及动态界面设计目标 279
第10章 嵌入网页的控制界面设计 289
10.1 嵌入网页的控制界面设计目标 289
10.2 Android Http 291
10.2.1 Android Http通信 291
10.2.2 Okhttp 296
10.3 WebView应用 300
10.3.1 WebView介绍 300
10.3.2 WebView应用 301
10.3.3 Android与JS通过WebView互相调用方法 302
10.4 嵌入网页的控制界面的实现 303
第11章 传感器应用及拍照更换界面图片设计 309
11.1 传感器应用及拍照更换界面图片设计目标 309
11.2 物联网App安卓端传感器编程 310
11.2.1 安卓传感器(OnSensorChanged)使用介绍 310
11.2.2 方向传感器应用编程 312
11.2.3 安卓坐标系的定义 314
11.2.4 安卓传感器values变量的定义 315
11.3 摄像头及拍照应用 318
11.3.1 Camera2应用 318
11.3.2 使用TensorFlow API构建视频物体识别系统 322
11.4 Android拍照和选择照片 326
11.4.1 Android媒体库MediaStore 326
11.4.2 Android拍照和返回照片 327
11.4.3 Android拍照和保存图片 328
11.5 拍照更换界面图片的实现 332
第12章 苹果手机移动软件设计 337
12.1 苹果手机移动软件设计目标 337
12.2 iOS开发环境搭建 338
12.3 iOS入门实例 339
12.3.1 创建iOS项目 339
12.3.2 编辑main.storyboard文件 341
12.3.3 程序代码分析 345
12.3.4 main函数及程序启动过程 346
12.3.5 UIResponder类 347
12.4 Objective-c 348
12.4.1 Objective-c介绍 348
12.4.2 Objective-c特点 349
12.4.3 Objective-c和C+++巭Java比较 350
12.5 iOS基本控件 353
第13章 跨平台移动软件设计 357
13.1 跨平台移动软件设计目标 357
13.2 物联网APP跨平台程序基础 357
13.2.1 物联网App跨平台程序简介 357
13.2.2 常见移动Web开发框架 358
13.2.3 常见Hybrid App平台 360
13.3 HTML5 362
13.4 PhoneGap概述 363
13.4.1 PhoneGap介绍 363
13.4.2 PhoneGap实例 364
13.4.3 用PhoneGap开发iOS应用程序 365
13.5 jQuery Mobile概要 367
13.5.1 jQuery Mobile介绍 367
13.5.2 jQuery Mobile应用 368
13.5.3 jQuery Mobile页面链接 369
13.5.4 jQuery Mobile内容格式 370
13.5.5 jQuery Mobile导航 372
13.5.6 jQuery Mobile工具栏 373
13.5.7 jQuery Mobile按钮 378
13.5.8 jQuery Mobile列表视图 379
13.6 跨平台移动软件的实现 383
参考文献 387