简介
本文档为机智云物联网开源基础App套件使用说明,旨在为机智云物联网开发者提供一个快速开发模板,可在此工程基础上进行快速开发或参考相关代码进行开发。
Android开源框架工程源码链接:
Eclipse 版本:https://git.oschina.net/dantang/GizOpenSource_AppKit_Android
Android Studio版本:https://github.com/gizwits/GOpenSource_AppKit_Android_AS
Android Gokit App是使用开源框架工程的源码范例,源码链接:
https://git.oschina.net/dantang/GoKit_Demo_Android
也可在下载中心下载Android Gokit App:
目录结构说明
- A. Libs: 包括 GizWifiSDK 在内的的第三方库目录**
- assets: 包含 UIConfig.json 配置文件
-
B. GizOpenSource: 组成模块
- GizOpenSourceModules:组成模块
- GosApplication.java // SDK 在此启动
- CommonModule // 公共方法类、资源文件读取类
- ConfigModule // 设备配置模块,包含 AirLink 及 SoftAP
- UserModule // 用户模块,包含 用户登录、用户注册、找回密码
- DeviceModule // 设备模块,包含 设备列表
- ControlModule // 控制模块,包含 控制示例
- SettingsModule // 设置模块,包含 设置菜单 及其 包含的子菜单项(关于等)
- PushModule // 推送模块,包含 百度和极光的推送SDK 集成封装
- ThirdAccountModule // 第三方登录模块, 包含 第三方登录(QQ、微信等)
- view // 自定义控件
- utils // 工具类
- wxapi // 微信集成包
- zxing // 扫描二维码
快速集成指南
默认程序入口在 UserModule 中的 GosUserLoginActivity。
A. 设定初始化参数
在工程的 GosApplication.java 文件中填写机智云AppID及AppSecret,如果使用第三方登录或推送,需要填写相应的从其他资源平台申请的参数;如果使用推送需要打开当前需要使用推送的类型的初始化,如果都为注释状态则表示当前不使用第三方推送,同时只支持一种第三方推送,不可打开多个第三方推送宏定义的注释。可配置的参数有:
|
需要注意:
1.极光推送的appid需要在AndroidManifest.xml 中填写见243行。
2.微信登录需要进行在腾讯api中设置自己的md5值否则无法正常运行
3.tencent_app_id需要在AndroidManifest.xml中89行填写
B. 加载控制界面
1)框架工程内提供的代码已经可以在不修改任何代码的前提下,进行到控制界面的跳转操作,开发者只需要关心操作界面的逻辑即可,如果需要在设备列表界面中点击某设备后,跳转到自己创建的控制器视图中,请在 GosDeviceListActivity.java 文件中修改相应跳转参数。请按照图示修改跳转视图的类定义,如果使用默认提供的空白界面(GosDeviceControlActivity)来进行编写控制界面,可略过此步骤。
2) 在控制界面中注册设备的监听,并实现回调,如图:
用于接收SDK上报的设备状态变化通知,将接收到的上报数据解析并更新界面。
3)控制界面中对当前设备设置监听,例如:device.setListener(gizWifiDeviceListener);
4)实现控制命令下发,需要调用SDK中GizWifiDevice类实例的接口方法:device.write(concurrentHashMap ,0); 具体参数解释,请参考SDK使用文档。
5)退出控制界面时,需要取消当前设备订阅,调用SDK中GizWifiDevice类实例的接口方法,将参数设为False: device.setSubscribe(false);
C. 设置界面增加菜单项及点击处理
如果需要在设置界面进行列表项的增加或修改,需要在activity_gos_settings.xml中添加相应控件,并在模块(SettingsModule)中的GosSettingsActivity.java文件中添加相应事件。
常见问题
A. 支持Android版本?
目前支持Android 4.0及更高版本系统。
B. 关于修改版本号
在工程的AndroidManifest.xml 文件下,修改versionNmae即可更改SettingsModule模块下,关于界面的版本号显示。示例:
C. 关于推送与包名(以下使用集成极光推送示例)
在新建工程下,替换框架内模块使用时。需要将AndroidManifest.xml 文件package与申请推送时所填包名相对应,并修改集成推送时相应位置。示例:
与申请推送应用保持一致,示例:
修改集成推送的相应位置:
在工程的AndroidManifest.xml文件中修改
1)
|
(详见开源APP套件的AndroidManifest.xml文件第13行)
2)
|
(详见开源APP套件的AndroidManifest.xml文件第17行)
3)
|
(详见开源APP套件的AndroidManifest.xml文件第159行)
4)
|
(详见开源APP套件的AndroidManifest.xml文件第170行)
5)
|
(详见开源APP套件的AndroidManifest.xml文件第193行)
6)
|
(详见开源APP套件的AndroidManifest.xml文件第224行)
7)
|
(详见开源APP套件的AndroidManifest.xml文件第240行)


块
导
航
举报
请选择举报类别
- 广告垃圾
- 违规内容
- 恶意灌水
- 重复发帖