本书主要介绍物联网系统中的Android应用开发。全书优选行理论知识学习,深入浅出地介绍Java开发基础、Android开发基础和Android开发进阶等理论知识,然后进行实际案例的开发,很后进行开发验证和总结拓展,将理论学习和开发实践紧密结合起来。每个实际案例均给出了完整的开发代码和配套PPT,读者可以在此基础快速地进行二次开发。

廖建尚,任职广东交通职业技术学院,教授,博士。研究方向:高光谱图像处理、物联网系统。主持省自然基金等省级以上项目6项;发表论文20多篇,其中SCI收录4篇,EI收录5篇,中文核心期刊5篇,公开出版教材著作11部,授权10余项,授权软件著作15项。

篇 Java开发基础

任务1 Android应用开发环境3

1.1 开发场景:如何搭建Android应用开发环境3

1.2 开发目标3

1.3 原理学习:Android系统架构和开发框架4

1.3.1 Android系统架构4

1.3.2 Android应用开发框架5

1.4 开发实践:创建个Android应用程序6

1.4.1 JDK的安装与配置7

1.4.2 Android Studio的安装与配置10

1.4.3 创建个Android应用程序12

1.4.4 导入Android项目16

1.5 任务验证17

1.6 开发小结17

1.7 思考与拓展17

任务2 Java开发基础19

2.1 开发场景:开发Android应用程序需要的程序设计语言19

2.2 开发目标19

2.3 原理学习:Java开发基础20

2.3.1 Java简介20

2.3.2 Java的基本语法20

2.3.3 Java的对象与类21

2.4 开发实践:Java开发环境及程序的运行调试21

2.4.1 Java程序的运行机制21

2.4.2 基于Android Studio开发环境开发Java程序22

2.5 任务验证24

2.6 开发小结24

2.7 思考与拓展24

任务3 海拔高度数据的定义与转换25

3.1 开发场景:如何用Java定义海拔高度数据25

3.2 开发目标25

3.3 原理学习:Java的数据类型、运算符、关键字、程序结构25

3.3.1 Java的数据类型25

3.3.2 Java的运算符及关键字26

3.3.3 Java的程序结构28

3.4 开发实践:海拔高度数据的定义与转换33

3.4.1 开发设计33

3.4.2 功能实现34

3.5 任务验证35

3.6 开发小结36

3.7 思考与拓展36

任务4 温度和湿度数据的记录37

4.1 开发场景:如何记录温度和湿度数据37

4.2 开发目标37

4.3 原理学习:熟悉Java类、数组、方法、IO流37

4.3.1 常用的Java类37

4.3.2 Java数组41

4.3.3 Java 方法43

4.3.4 Java IO流45

4.4 开发实践:温度和湿度数据的记录48

4.4.1 开发设计48

4.4.2 功能实现48

4.5 任务验证49

4.6 开发小结50

4.7 思考与拓展50

任务5 智能背包系统的设计51

5.1 开发场景:如何使用Java封装一个智能背包系统51

5.2 开发目标51

5.3 原理学习:Java的对象与类、接口实现与包机制51

5.3.1 Java的对象与类51

5.3.2 Java的接口56

5.4 开发实践:智能背包设备系统对象的设计59

5.4.1 开发设计59

5.4.2 功能实现59

5.5 任务验证61

5.6 开发小结61

5.7 思考与拓展62

第2篇 Android开发基础

任务6 Android项目框架与调试65

6.1 开发场景:如何创建和调试Android项目65

6.2 开发目标65

6.3 原理学习:Android项目框架及项目创建调试66

6.3.1 Android项目框架66

6.3.2 Android项目的调试68

6.3.3 模拟器的安装与使用69

6.4 开发实践:Android项目的创建与调试71

6.4.1 Android项目的创建71

6.4.2 Android项目的调试73

6.5 任务验证74

6.6 开发小结74

6.7 思考与拓展74

任务7 空气质量显示界面的设计75

7.1 开发场景:如何实现空气质量显示界面的设计75

7.2 开发目标75

7.3 原理学习:Android用户界面布局76

7.3.1 Android的用户界面框架76

7.3.2 Android的视图树76

7.3.3 Android的线性布局77

7.3.4 Android的帧布局81

7.3.5 Android的表格布局82

7.3.6 Android的相对布局86

7.3.7 Android的绝对布局90

7.4 开发实践:空气质量显示界面92

7.4.1 开发设计92

7.4.2 功能实现92

7.5 任务验证96

7.6 开发小结96

7.7 思考与拓展96

任务8 城市气象监控设备管理系统应用界面的设计97

8.1 开发场景:如何设计城市气象监控设备管理系统应用界面97

8.2 开发目标97

8.3 原理学习:Android界面控件基础97

8.3.1 TextView控件97

8.3.2 EditText控件99

8.3.3 Button控件101

8.3.4 ImageButton控件105

8.3.5 CheckBox控件106

8.3.6 RadioButton控件109

8.3.7 Spinner控件111

8.3.8 ListView控件114

8.4 开发实践:城市气象监控设备管理系统应用界面的设计115

8.4.1 开发设计115

8.4.2 功能实现116

8.5 任务验证121

8.6 开发小结122

8.7 思考与拓展122

任务9 城市环境系统功能菜单的设计123

9.1 开发场景:如何为城市环境系统增加功能菜单123

9.2 开发目标123

9.3 原理学习:熟悉Android菜单123

9.3.1 Android的选项菜单124

9.3.2 Android的子菜单126

9.3.3 Android的上下文菜单126

9.4 开发实践:城市环境系统功能菜单129

9.4.1 开发设计129

9.4.2 功能实现130

9.5 任务验证131

9.6 开发小结132

9.7 思考与拓展132

任务10 城市灯光控制系统界面事件的处理133

10.1 开发场景:如何用Android开发一个城市灯光控制系统界面133

10.2 开发目标133

10.3 原理学习:Android系统界面事件实现133

10.3.1 监听器133

10.3.2 Android的界面事件和监听器134

10.3.3 Android按键事件的处理135

10.3.4 Android屏幕触摸事件的处理136

10.4 开发实践:城市灯光控制系统界面事件的处理137

10.4.1 开发设计137

10.4.2 功能实现138

10.5 任务验证142

10.6 开发小结143

10.7 思考与拓展143

第3篇 Android开发进阶

任务11 工厂通风系统界面的切换147

11.1 开发场景:如何实现工厂通风系统界面的切换147

11.2 开发目标147

11.3 原理学习:Android中的Activity和Service147

11.3.1 Android中的Activity147

11.3.2 Android中的Service153

11.4 开发实践:工厂通风系统界面切换156

11.4.1 开发设计156

11.4.2 功能实现157

11.5 任务验证161

11.6 开发小结162

11.7 思考与拓展162

任务12  工厂火警监测系统界面的设计163

12.1 开发场景:如何设计工厂火警监测系统的界面163

12.2 开发目标163

12.3 原理学习:Intent、BroadcastReceiver、ContentProvider组件163

12.3.1 Intent组件163

12.3.2 BroadcastReceiver组件167

12.3.3 ContentProvider组件170

12.4 开发实践:工厂火警监测系统界面的设计171

12.4.1 开发设计171

12.4.2 功能实现172

12.5 任务验证176

12.6 开发小结176

12.7 思考与拓展177

任务13  设备列表管理界面的设计179

13.1 开发场景:如何使用Fragment设计界面179

13.2 开发目标179

13.3 原理学习:基于Fragment的界面设计179

13.3.1 Fragment的基本概念179

13.3.2 Fragment的生命周期180

13.3.3 Fragment的使用方式181

13.3.4 Fragment通信186

13.4 开发实践:设备列表管理界面设计187

13.4.1 开发设计187

13.4.2 功能实现189

13.5 任务验证194

13.6 开发小结195

13.7 思考与拓展195

任务14  智能电表日志的记录197

14.1 开发场景:如何实现智能电表日志的记录197

14.2 开发目标197

14.3 原理学习:SharedPreferences及文件存储的使用197

14.3.1 SharedPreferences197

14.3.2 文件存储201

14.4 开发实践:智能电表日志记录203

14.4.1 开发设计203

14.4.2 功能实现204

14.5 任务验证206

14.6 开发小结206

14.7 思考与拓展206

任务15  光照度记录的查询207

15.1 开发场景:如何显示SQLite数据库中的光照度记录207

15.2 开发目标207

15.3 原理学习:SQLite数据库的创建及其基本的数据操作方法207

15.3.1 SQLite数据库207

15.3.2 SQLite数据库的操作210

15.3.3 SQLite简单示例214

15.4 开发实践:光照度记录的查询217

15.4.1 开发设计217

15.4.2 功能实现219

15.5 任务验证227

15.6 开发小结228

15.7 思考与拓展228

任务16  智能医疗仪表图形的动态显示229

16.1 开发场景:智能医疗仪表图形动态显示的重要性及实用性229

16.2 开发目标229

16.3 原理学习:动态图形的绘制及图形特效的实现229

16.3.1 动态图形的绘制229

16.3.2 图形特效的实现234

16.3.3 Android的自绘控件237

16.4 开发实践:智能医疗仪表图形动态显示238

16.4.1 开发设计238

16.4.2 功能实现240

16.5 任务验证243

16.6 开发小结244

16.7 思考与拓展244

任务17  远程控制服务端的通信245

17.1 开发场景:如何实现远程控制服务端的通信245

17.2 开发目标245

17.3 原理学习:Socket通信245

17.3.1 Socket传输模式245

17.3.2 Socket编程原理246

17.3.3 Socket编程实例247

17.4 开发实践:远程控制服务端通信的实现250

17.4.1 开发设计250

17.4.2 功能实现252

17.5 任务验证257

17.6 开发小结258

17.7 思考与拓展258

第4篇 物联网Android应用开发

任务18  物联网系统框架及Android开发接口261

18.1 开发场景:物联网系统框架261

18.2 开发目标262

18.3 原理学习:Android开发接口262

18.3.1 Android开发接口262

18.3.2 Android开发接口应用实例265

18.4 开发实践:建立服务连接266

18.4.1 开发设计266

18.4.2 功能实现268

18.5 任务验证273

18.6 开发小结275

18.7 思考与拓展276

任务19  仓库环境管理系统的设计277

19.1 开发场景:如何设计仓库环境管理系统277

19.2 开发目标277

19.3 原理学习:仓库环境管理系统分析和Android应用程序设计278

19.3.1 仓库环境管理系统分析278

19.3.2 Android应用程序设计281

19.4 开发实践:仓库环境管理系统的设计285

19.4.1 开发设计285

19.4.2 功能实现286

19.5 任务验证296

19.6 开发小结298

19.7 思考与拓展298

参考文献299

java 安卓 物联网_面向物联网的Android应用开发与实践相关推荐

  1. java 安卓调试_【转】Android 调试技术

    一.JAVA层单步调试 二.Native层单步调试 三.JAVA层堆栈打印 1. 在指定的函数内打印相关java调用 Log.d(TAG,Log.getStackTraceString(new Thr ...

  2. 安卓逆向_15( 三 ) --- Android NDK 开发【 jni 静态注册、JNI_OnLoad 动态注册】

    Android Studio开发JNI示例:https://blog.csdn.net/wzhseu/article/details/79683045 JNI_动态注册_静态注册.zip : http ...

  3. libgdx教程_使用libgdx进行Android游戏开发–一天中的原型,第1b部分

    libgdx教程 创造游戏并展现世界 要将世界渲染到屏幕上,我们需要为其创建一个屏幕,并告诉它渲染世界. 在libgdx中,有一个名为Game的便利类,我们将把StarAssault类重写为StarA ...

  4. libgdx教程_使用libgdx进行Android游戏开发–一天中的原型,第1a部分

    libgdx教程 在本文中,我将绕开游戏引擎和组件的构建模块,并演示如何使用libgdx库快速制作游戏原型. 您将学到什么: 创建一个非常简单的2D Shooter Platformer游戏. 完整的 ...

  5. libgdx开发指南_使用libgdx进行Android游戏开发–一天中的原型,第1a部分

    libgdx开发指南 在本文中,我将绕开游戏引擎和组件的构建模块,并演示如何使用libgdx库快速制作游戏原型. 您将学到什么: 创建一个非常简单的2D Shooter Platformer游戏. 完 ...

  6. java安卓计时器_如何在android中设置计时器

    通过java.util.Timer和java.util.TimerTask使用计时器的标准Java方法在Android中运行良好,但是你应该知道这个方法创建了一个新线程. 您可以考虑使用非常方便的Ha ...

  7. java制作安卓客户端_制作网页的Android客户端(一)

    当发现一个有趣的新闻网站(AnimeNews)没有android客户端时,打算做一个学习和自用. 0.简单的需求分析 1.能看新闻 2.能查单词 3.单词表 1.建立新闻的抽象类 需要的属性有: 新闻 ...

  8. java初学者书籍_面向初学者的5本最佳Java核心书籍

    java初学者书籍 Today I am sharing the best java books to learn java programming. Java is one of the most ...

  9. java路由总线_网易考拉Android客户端路由总线设计

    1.前言 $ e7 |  ~% L) i7 @7 B& t3 T5 h* P/ e2 s 当前,Android路由框架已经有很多了,如雨后春笋般出现,大概是因为去年提出了Android组件化的 ...

  10. java实现共享白板_面向Internet上的CSCW的共享白板的设计与实现JAVA087

    摘  要 随着Internet的迅速普及,计算机技术进入了以网络为中心的时代.在计算机网络的支持下.地理上分布的人们需要协同工作.因此计算机支持协同工作(CSCW)应运而生.人们希望借助协同工作环境以 ...

最新文章

  1. Java项目:宠物医院预约挂号系统(java+JSP+Spring+SpringBoot+MyBatis+html+layui+maven+Mysql)
  2. 人工智能写的散文之白色月光下
  3. CSP-S集训刷题记录
  4. PHP中 对象自动调用的方法:__set()、__get()、__tostring()
  5. ejb 2.0 3.0_定义EJB 3.1视图(本地,远程,无接口)
  6. Java Byte类的compareTo()方法和示例
  7. 用C#生成不重复的随机数
  8. ecshop根目录调用_ecshop调用指定商品分类下的商品
  9. iOS开发日记19-7.0之后的截屏方法
  10. pd虚拟机:mac支持安装Windows应用
  11. jd页面与tianmao页面模仿jsonp跨域
  12. CR渲染器全景图如何渲染颜色通道_无需凤凰流体,就可以制作3D火焰效果?「渲云渲染」...
  13. AD PCB布板提示The following exception occurred whilst loading section primitive paramenters...解决方法
  14. 从轻测到上线,WeTest与《一起来捉妖》测试方案大公开
  15. 中国移动位置服务基地能力开放平台
  16. Python读写矢量数据(2)矢量数据写入(属性数据)——Python地理数据处理学习分享
  17. 【深度学习】综述 | 深度学习的最新进展
  18. 22届春季校招实习试水之路1(Java后端)
  19. vscode 中C++运行编译运行多文件问题总结
  20. java 发送邮件 outlook_JavaMail发送带图片正文的邮件,outlook等邮箱不显示的问题 | 学步园...

热门文章

  1. 下载geoip/GeoLite2-ASN.mmdbGeoLite2-City.mmdb
  2. ewiews面板回归模型操作_Eviews常用面板回归模型案例实战
  3. 长文!机器学习笔试精选 100 题【附详细解析】
  4. 计算机网络需要解决什么问题,计算机网络故障的解决措施
  5. 国内 OA 办公自动化系统 现状
  6. 思科路由器配置命令(四)
  7. tif格式怎么转jpg格式
  8. [转]100个经典C语言程序(益智类问题)
  9. Camera 360使用之坑
  10. GridView 对列进行排序