本教材主要针对移动应用开发技术在物联网技术中的应用为主进行阐述和编写,采用的开发平台是Android平台。从Android平台开发的基础技术界面布局和常用组件、四大组件开始讲解,到企业项目常用的网络通信、消息机制、数据存储技术、框架技术等的应用。教材设计以项目为导向,任务驱动,把技术学习融入到项目任务中,项目从易到难,逐步提升。教材提供了4个完整的企业实践项目(10个子项目),提供了配套案例和项目完整的代码及相关文档附件。
臧艳辉,女,高级工程师,佛山职业技术学院青年教师,双师型优秀人才,曾发表多篇论文,并荣获优秀党务工作者、优秀员工、教学质量优秀奖等奖项,有着丰富的实践和教学经验。
项目1 初识移动物联网001<br/>任务1 移动物联网开发环境的搭建004<br/>1.1.1 JDK的安装004<br/>1.1.2 Android Studio的安装005<br/>任务2 第一个Android Studio程序007<br/>1.2.1 新建Android Studio项目007<br/>1.2.2 AS项目结构视图的模式与文件说明010<br/>1.2.3 运行第一个Android Studio程序013<br/>1.2.4 Gradle简介013<br/>任务3 代码管理工具GitHub的使用016<br/>1.3.1 Git和GitHub的配置016<br/>1.3.2 创建远程仓库018<br/>1.3.3 在项目中使用Git进行代码管理020<br/>1.3.4 提交代码到GitHub仓库021<br/>1.3.5 从远程仓库获取项目023<br/>小结024<br/>拓展训练025<br/>项目2 远程智能家居控制系统——智能窗帘控制027<br/>任务1 Android的基本布局030<br/>2.1.1 线性布局030<br/>2.1.2 相对布局035<br/>2.1.3 帧布局039<br/>2.1.4 表格布局040<br/>2.1.5 绝对布局044<br/>任务2 Android的基本组件045<br/>2.2.1 TextView(文本框)和EditText(编辑框)045<br/>2.2.2 Button(按钮)048<br/>2.2.3 RadioButton(单选按钮)和CheckBox(复选框)050<br/>2.2.4 ImageView(图片视图)052<br/>2.2.5 Spinner(下拉列表框)055<br/>任务3 Intent的功能057<br/>2.3.1 Intent的介绍057<br/>2.3.2 Intent启动组件的方法058<br/>2.3.3 Intent的相关属性058<br/>任务4 帧动画064<br/>2.4.1 帧动画的介绍064<br/>2.4.2 帧动画的实现064<br/>任务5 shape和selector标签的使用067<br/>2.5.1 shape标签的使用067<br/>2.5.2 selector标签的使用069<br/>任务6 HomeSecurity1_Init初始项目说明070<br/>2.6.1 drawable文件夹070<br/>2.6.2 layout文件夹072<br/>2.6.3 mipmap文件夹073<br/>2.6.4 values文件夹073<br/>2.6.5 AndroidManifest.xml配置文件074<br/>2.6.6 窗帘开关动画075<br/>任务7 项目页面的搭建077<br/>2.7.1 登录页面的搭建077<br/>2.7.2 功能导航页面的搭建081<br/>2.7.3 窗帘控制页面的搭建083<br/>任务8 窗帘控制的实现085<br/>2.8.1 模拟登录功能的实现085<br/>2.8.2 功能选择页面跳转功能的实现085<br/>2.8.3 窗帘动画的实现085<br/>小结086<br/>拓展训练086<br/>项目3 远程智能家居控制系统——智能灯控090<br/>任务1 Activity详解093<br/>3.1.1 Activity简介093<br/>3.1.2 Activity的四种启动模式093<br/>3.1.3 Activity的生命周期、状态及方法106<br/>3.1.4 Activity的配置110<br/>任务2 GridView实现网格布局111<br/>3.2.1 GridView简介111<br/>3.2.2 GridView的使用112<br/>任务3 广播的使用115<br/>3.3.1 广播的类型115<br/>3.3.2 广播的静态注册和动态注册117<br/>3.3.3 实现BroadCast与Activity的通信119<br/>任务4 云平台jar包的使用121<br/>3.4.1 云平台jar包介绍121<br/>3.4.2 使用jar包实现窗帘的控制121<br/>任务5 SharedPreferences数据存储124<br/>3.5.1 SharedPreferences介绍124<br/>3.5.2 SharedPreferences的使用124<br/>任务6 远程智能家居控制系统的实现126<br/>3.6.1 自动登录功能的实现127<br/>3.6.2 更新房间选择页面各个房间的状态128<br/>3.6.3 调节RGB灯带的颜色131<br/>小结134<br/>拓展训练135<br/>项目4 家居安防系统——引导页和登录功能的实现137<br/>任务1 ViewPager的使用139<br/>4.1.1 ViewPager介绍139<br/>4.1.2 ViewPager实现引导页案例140<br/>4.1.3 引导页和登录信息检验功能的实现143<br/>任务2 HTTP网络请求145<br/>4.2.1 HTTP简介145<br/>4.2.2 HttpClient和HttpURLConnection146<br/>4.2.3 使用HttpURLConnection进行网络请求146<br/>任务3 使用AsyncTack实现异步任务151<br/>4.3.1 AsyncTask介绍151<br/>4.3.2 AsyncTask方法说明152<br/>4.3.3 使用AsyncTask实现网络图片下载153<br/>任务4 JSON数据解析156<br/>4.4.1 JSON简介156<br/>4.4.2 使用JSONObject解析157<br/>4.4.3 使用GSON解析159<br/>4.4.4 实现云平台的登录160<br/>任务5 Android多线程166<br/>4.5.1 UI Thread介绍166<br/>4.5.2 多线程的实现167<br/>4.5.3 子线程向主线程发送数据170<br/>4.5.4 子线程和主线程互发数据172<br/>小结175<br/>拓展训练175<br/>项目5 家居安防系统——页面效果的实现178<br/>任务1 了解Toolbar181<br/>5.1.1 Toolbar简介181<br/>5.1.2 Toolbar的使用181<br/>任务2 了解Fragment186<br/>5.2.1 Fragment简介186<br/>5.2.2 Fragment的使用188<br/>任务3 使用DrawerLayout实现侧滑菜单191<br/>5.3.1 DrawerLayout简介191<br/>5.3.2 DrawerLayout的使用192<br/>任务4 自定义控件与Toolbar标题栏的实现195<br/>5.4.1 自定义控件简介195<br/>5.4.2 自定义控件的实现195<br/>5.4.3 标题栏的实现200<br/>任务5 了解RxJava202<br/>5.5.1 RxJava简介202<br/>5.5.2 RxJava的使用203<br/>小结212<br/>拓展训练212<br/>项目6 家居安防系统——烟雾警报功能的实现215<br/>任务1 Retrofit 2.0+RxJava实现网络访问217<br/>6.1.1 背景知识217<br/>6.1.2 Retrofit 2.0+RxJava221<br/>任务2 Service的使用225<br/>6.2.1 Service简介225<br/>6.2.2 在Service中播放音乐226<br/>任务3 网关状态和传感器数据的获取229<br/>6.3.1 网关状态的获取229<br/>6.3.2 烟雾传感器数据的获取236<br/>任务4 了解Notification239<br/>6.4.1 Notification简介239<br/>6.4.2 Notification的使用240<br/>任务5 烟雾警报功能的实现241<br/>小结245<br/>拓展训练245<br/>附录 云平台API文档247<br/>