文章目录
- 1.教学视频介绍
- 2.教程视频内容
- 3.课程目录
- 4.课程源码下载地址
- 5.视频教程学习笔记
- 第1讲 课程大纲
- 第2讲 下载并导入Android的SDK到工程中
- 第3讲 SDK初始化的实现
- 第4讲 Android的动态授权适配
- 第5讲 引用第三方UI库,提高开发效率
- 第6讲 配网界面的UI实现(上)
- 第7讲 配网界面的UI实现(下)
- 第8讲 保存SDK回调的token到本地
- 第9讲 设备配网界面的代码实现
- 第10讲 主界面展示设备列表(上)
- 第11讲 主界面展示设备(下)
- 第12讲 下拉刷新
- 第13讲 设备列表的自动绑定设备
- 第14讲 设备列表的重命名
- 第15讲 设备删除解绑操作
- 第16讲 设备控制界面的跳转逻辑实现
- 第17讲 设备控制界面的父类实现(上)
- 第18讲 设备控制界面的父类实现(下)
- 第19讲 控制界面的UI搭建
- 第20讲 控制界面的UI逻辑分析(上)
- 第21讲 控制界面的UI逻辑分析(下)
- 第22讲 控制界面的数据状态同步(上)
- 第23讲 控制界面的数据状态同步(下)
- 第24讲 控制界面的下发控制逻辑实现
- 第25讲 网络广播判断的触发未监听的完善
- 第26讲 断网状态依然显示在线的完善
- 第27讲 课程总结
1.教学视频介绍
项目介绍为转载 项目开发者博客地址
后半部分为视频教学学习笔记
Android实战SDK对接机智云平台(基础篇)
物联网时代已经来临,借助第三方平台可以迅速提高我们的开发效率,而本门课程是选择机智云平台,0代码开始敲起Android框架,带你走一遍下APP开发的整个流程;适合在校大学生和正在找工作的求职者,也适合电子爱好发烧友。
此套视频是基于开源框架 XHOpenSouresGizAndroid来完成的,此框架也是基于机智云开源框架优化的。此套视频分为上下两部分
2.教程视频内容
①、实现自动匿名登录,没有各种第三方登录选择,无须手动点击“跳过”进去设备界面。
②、实现一键配网,去掉softAP模式配网,无须选择各种芯片,固定为乐鑫的esp8266。
③、一旦检测到了局域网的新设备,实现自动绑定设备。
④、工程不采用设计框架,解耦性强,依赖的架包是’appcompat-v7:26.0.0-alpha1’版本,全新的控件,全新的MD风格。
⑤、开放接口给开发者,实现换颜色的功能。
⑥、开放修改设备的PK和PS接口、开发者的APP的Appid给开发者修改。
⑦、支持多设备添加在同一个APP,即一个APP控制多个设备,详情见Demo代码。
3.课程目录
- 第1讲 课程大纲
- 第2讲 下载并导入Android的SDK到工程中
- 第3讲 SDK初始化的实现
- 第4讲 Android的动态授权适配
- 第5讲 引用第三方UI库,提高开发效率
- 第6讲 配网界面的UI实现(上)
- 第7讲 配网界面的UI实现(下)
- 第8讲 保存SDK回调的token到本地
- 第9讲 设备配网界面的代码实现
- 第10讲 主界面展示设备列表(上)
- 第11讲 主界面展示设备列表(中)
- 第12讲 主界面展示设备列表(下)
- 第13讲 设备列表的自动绑定设备
- 第14讲 设备列表的重命名
- 第15讲 设备删除解绑操作
- 第16讲 设备控制界面的跳转逻辑实现
- 第17讲 设备控制界面的父类实现(上)
- 第18讲 设备控制界面的父类实现(下)
- 第19讲 控制界面的UI搭建
- 第20讲 控制界面的UI逻辑分析(上)
- 第21讲 控制界面的UI逻辑分析(下)
- 第22讲 控制界面的数据状态同步(上)
- 第23讲 控制界面的数据状态同步(下)
- 第24讲 控制界面的下发控制逻辑实现
- 第25讲 网络广播判断的触发未监听的完善
- 第26讲 断网状态依然显示在线的完善
- 第27讲 课程总结
4.课程源码下载地址
5.视频教程学习笔记
第1讲 课程大纲
- 只需要Java基础即可开始课程
- 进阶功能视频未录制
- 进阶功能包括
- app多设备添加
- 多设备控制
- 设备列表中控制设备
- 二维码扫描添加设备
第2讲 下载并导入Android的SDK到工程中
- 搭建Android studio环境
- 下载最新的机智云 Android SDK
- 支持三个平台的SDK
android
、ios
、apiCloud
apiCloud
是一个混合应用开发平台- AS工程可以将test文件夹都删除,美观
- 将功能包
.jar
引入到libs
目录下 - 选中
.jar
包,右键,点击Add As Library
可以将其全部导入库中
第3讲 SDK初始化的实现
- 配置
AndroidMainfest.xml
,添加权限 - 先要初始化SDK,其他接口才能使用
- 右键代码中标红的代码,alt+enter可以快速添加类
- alt+鼠标左键,可以快速进入函数内部
- 先设置机智云SDK的时间监听器
mListener
,配置app信息和选项,然后就可以启动机智云SDK - log.e() 可以配置tag参数,方便日志筛选
.so
文件错误,将错误文件放在资源文件目录下,csdn半颗心脏博主的笔记里有解决方法
第4讲 Android的动态授权适配
-
splash闪屏界面,在闪屏界面进行android6.0以上,权限动态授权
-
Toast.Length_Short
参数,减少弹窗时间,+.show()
-
Activity使用以后,之后几乎不使用的话,建议用
.finish()
摧毁 -
异步消息处理线程 Handler 、 Looper 、Message 三者的关系
-
要学!
Handler 、 Looper 、Message有啥关系?其实Looper负责的就是创建一个MessageQueue,然后进入一个无限循环体不断从该MessageQueue中读取消息,而消息的创建者就是一个或多个Handler 。
Looper主要作用:
1、 与当前线程绑定,保证一个线程只会有一个Looper实例,同时一个Looper实例也只有一个MessageQueue。
2、 loop()方法,不断从MessageQueue中去取消息,交给消息的target属性的dispatchMessage去处理。
Handler主要作用:
1、首先Looper.prepare()在本线程中保存一个Looper实例,然后该实例中保存一个MessageQueue对象;因为Looper.prepare()在一个线程中只能调用一次,所以MessageQueue在一个线程中只会存在一个。
2、Looper.loop()会让当前线程进入一个无限循环,不端从MessageQueue的实例中读取消息,然后回调msg.target.dispatchMessage(msg)方法。
3、Handler的构造方法,会首先得到当前线程中保存的Looper实例,进而与Looper实例中的MessageQueue想关联。
4、Handler的sendMessage方法,会给msg的target赋值为handler自身,然后加入MessageQueue中。
5、在构造Handler实例时,我们会重写handleMessage方法,也就是msg.target.dispatchMessage(msg)最终调用的方法。
第5讲 引用第三方UI库,提高开发效率
- 使用QMUI第三方UI库
- 在
build.gradle
,使用complie+"************"
可以引入所需要的库
第6讲 配网界面的UI实现(上)
padding
控制控件边距corners
圆角stroke
边框solid
内部填充- 通过
background
参数可以引入xml控件 - alt+D,快速复制上一行的代码
第7讲 配网界面的UI实现(下)
- topbar(标题导航栏)使用第三方的UI
selector
- 密码是否可见
第8讲 保存SDK回调的token到本地
- 使用 SharedPreference储存token,保存到本地
Utils
封装包SharePreUtils
类封装参数- 匿名登录
第9讲 设备配网界面的代码实现
- 控件对象都定义为私有
- 获取WiFi,可以使用封装类
- 若没有wifi,则不能进行下一步
ProgressDialog
进度弹窗- 弹窗外外不可点击
- 兼容旧版本
第10讲 主界面展示设备列表(上)
- List学习
- 待学!
- 把配网的设备自动绑定给用户
第11讲 主界面展示设备(下)
- UI布局学习
- 待学!
- LayoutInflater类,用于布局填充
- Adapter类
第12讲 下拉刷新
- 使用google的
SwipeRefreshLayout
布局 - 刷新:postDelay run() 异步操作
- 通过查看设备列表是否有变化,来通知Adapter刷新
第13讲 设备列表的自动绑定设备
bindDeviceByQRCode()
使用二维码绑定bindRemotesdDevice()
绑定远程设备
第14讲 设备列表的重命名
setOnItemLongClickListener()
监听列表里的长按动作showRenameDialog()
在弹窗里面修改设备名,弹窗使用的是QMUI类
第15讲 设备删除解绑操作
- 设备分为本地设备与远程设备
第16讲 设备控制界面的跳转逻辑实现
- 订阅设备,才能从云端同步设备
- 设备控制界面父类,抽象类
activity
之间传递参数使用putExtra
、this.getIntent().getParcelableExtra()
第17讲 设备控制界面的父类实现(上)
- 进入控制界面,立即同步云端数据
第18讲 设备控制界面的父类实现(下)
- 订阅和取消订阅云端消息
- 将当前页面
finish()
,可以回到上一个界面
第19讲 控制界面的UI搭建
- preview可以实时预览
ScollView
布局- 分割线
view
布局 Spanner
下拉选项<!--注释-->
为xml的注释方式SeekBar
滑动选值
第20讲 控制界面的UI逻辑分析(上)
- java获取layout布局id的小工具 网址
第21讲 控制界面的UI逻辑分析(下)
- 文件帧,枚举,数组类型添加到Spanner中
- 可以设置SeekBar的最大值
- 设置点击事件
第22讲 控制界面的数据状态同步(上)
- 拖动条事件触发是手指离开屏幕触发的
- 使用Vysor同步手机画面到电脑调试
第23讲 控制界面的数据状态同步(下)
- 字符串变量名,使用finial定义常量
- 下发控制使用封装类
第24讲 控制界面的下发控制逻辑实现
- bug1没有网络是做出判断
- 内部类,获取手机网络改变的状态截取
第25讲 网络广播判断的触发未监听的完善
- 内部类,获取手机网络改变的状态截取
第26讲 断网状态依然显示在线的完善
- 下拉刷新判断手机网络状态
第27讲 课程总结
- apk打包流程