如果,你想快速开发机智云开源的APP,那你必看此文。
授人以鱼不如授人以渔,我们教你的是一种方法论。所以,学习此文的小伙伴,也需具备一定的基础。
1. 简介本文档为机智云物联网开源基础App套件使用说明,旨在为机智云物联网开发者提供一个快速开发模板,可在此工程基础上进行快速开发或参考相关代码进行开发。 Android开源框架工程源码链接: Android gokit App是使用开源框架工程的源码范例,源码链接: 也可在下载中心下载Android Gokit App: 2. 目录结构说明A. Libs: 包括 GizWifiSDK 在内的的第三方库目录B. GizOpenSource: 组成模块1. CommonModule: 公共方法类、资源文件 及 自定义 Cell 2. ConfigModule: 设备配置模块,包含 AirLink 及 SoftAP 3. UserModule: 用户模块,包含用户登录、用户注册、找回密码 4. DeviceModule: 设备模块,包含 设备列表 5. SettingsModule: 设置模块,包含 设置菜单 及其 包含的子菜单项(关于等) 6. PushModule: 推送模块,包含 百度和极光的推送SDK 集成封装 7. view: 框架中使用的一些自定义控件。 8. zxing: 关于扫描二维码的必要文件。 3. 快速集成指南默认程序入口在 UserModule 中的 GosUserLoginActivity。 A. 设定初始化参数在工程的 GosApplication.java 文件中填写机智云AppID及AppSecret,如果使用第三方登录或推送,需要填写相应的从其他资源平台申请的参数;如果使用推送需要打开当前需要使用推送的类型的初始化,如果都为注释状态则表示当前不使用第三方推送,同时只支持一种第三方推送,不可打开多个第三方推送宏定义的注释,如图所示: 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文件中添加相应事件。 4. 常见问题A. 支持Android版本?目前支持Android 4.0及更高版本系统。
B. 关于修改版本号1. 在工程的AndroidManifest.xml 文件下,修改versionNmae即可更改SettingsModule模块下,关于界面的版本号显示。示例:
C. 关于推送与包名(以下使用集成极光推送示例)在新建工程下,替换框架内模块使用时。需要将AndroidManifest.xml 文件package与申请推送时所填包名相对应,并修改集成推送时相应位置。示例: 与申请推送应用保持一致,示例: 修改集成推送的相应位置: 在工程的AndroidManifest.xml文件中修改 1. <permission android:name=”您应用的包名.permission.JPUSH_MESSAGE” android:protectionLevel=”signature” /> (详见开源APP套件的AndroidManifest.xml文件第13行) 2. <uses-permission android:name=”您应用的包名.permission.JPUSH_MESSAGE” /> (详见开源APP套件的AndroidManifest.xml文件第17行) 3. DaemonService下<category android:name=”您应用的包名” /> (详见开源APP套件的AndroidManifest.xml文件第159行) 4. PushPeceiver下<category android:name=”您应用的包名” /> (详见开源APP套件的AndroidManifest.xml文件第170行) 5. PushActivity下<category android:name=”您应用的包名” /> (详见开源APP套件的AndroidManifest.xml文件第193行) 6. JPushReceiver下<category android:name=”您应用的包名” /> (详见开源APP套件的AndroidManifest.xml文件第224行) 7. <meta-data android:name=”JPUSH_APPKEY” android:value=”Your AppKey” /> (详见开源APP套件的AndroidManifest.xml文件第240行)
|