北京方研矩行科技有限公司 Android SDK 快速接入文档

Similar documents
SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

新・解きながら学ぶJava

TVS厂商接入流程API文档

DU Ad Platform_SDK 安卓接入指南 DU Ad Platform_SDK for Android 接入手册 ( 触发式广告 ) DUAd_SDK_Trigger v1.0 百度在线网络技术 ( 北京 ) 有限公司 百度在线网络技术 ( 北京 ) 有限公司 - 1 -

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复

Android Service

untitled

《大话设计模式》第一章

停止混流接口 请注意 : 该功能需要联系 ZEGO 技术支持开通 1 接口调用说明 http 请求方式 : POST/FORM, 需使用 https 正式环境地址 access_token=access_token (http

Microsoft Word - 第3章.doc

正式发文

EJB-Programming-4-cn.doc

市 教 育 工 会 : 女 教 师 素 质 提 升 工 程 市 卫 计 委 工 会 ( 原 医 管 中 心 工 会 ): 打 造 医 患 双 向 体 验 双 向 宣 传 工 程 市 国 资 委 国 联 集 团 工 会 : 全 员 阅 读 书 香 国 联 市 人 社 局 工 会 : 促

本文档旨在说明如果快速的接入集成推送 SDK, 快速实现小米, 华为, 魅族的推送接入, 有关详细的设计文档参考集成推送设计说明文档 准备工作 编译本项目, 配置完 android sdk 后执行以下命令, 或者你可以将本工程导入到 android studio 中./gradlew clean a

}; "P2VTKNvTAnYNwBrqXbgxRSFQs6FTEhNJ", " " string imagedata; if(0!= read_image("a.jpg",imagedata)) { return -1; } string rsp; ytopen_sdk m_sd

Microsoft Word - 01.DOC

云数据库 RDS SDK

untitled

威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 號 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

二零一五年施政報告 - 施政綱領 - 第六章 教育、人口及人力資源

概述

掌盟 SoEasy SDK 开发者帮助文档 1. 接入前项目检查 根据游戏接入后出现的问题, 对游戏项目做以下几点要求 : a) AndroidManifest.xml 中 android:targetsdkversion="19" b) 如果 AndroidManifest.xml 有 insta

CC213

优斗士微分销产品使用指南

untitled

团 学 要 闻 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 3 月 17 日, 我 校 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 在 行 政 办 公 楼 五 楼 会 议 室 举 行, 校 团 委 委 员 各 院 ( 系 ) 团 委 书 记 校 学 生

1.5招募说明书(草案)

第 十 一 期 2015 年 2 月 关 于 车 辆 购 置 税 征 收 管 理 有 关 问 题 的 公 告 ( 点 击 跳 转 至 全 文 ) 国 家 税 务 总 局 公 告 2015 年 第 4 号 关 于 电 池 涂 料 消 费 税 征 收 管 理 有 关 问 题 的 公 告 ( 点 击 跳

建模与图形思考

中 文 摘 要 智 慧 型 手 機 由 於 有 強 大 的 功 能, 以 及 優 渥 的 便 利 性, 還 能 與 網 路 保 持 隨 時 的 鏈 結 與 同 步 更 新, 因 此 深 受 廣 大 消 費 者 喜 愛, 當 然, 手 機 遊 戲 也 成 為 現 代 人 不 可 或 缺 的 娛 樂 之

腾讯社交广告转化追踪 Android SDK 接入说明文档 V1.2

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

目 录 第 一 部 分 档 案 局 概 况 一 主 要 职 责 二 部 门 决 算 单 位 构 成 第 二 部 分 档 案 局 2016 年 度 部 门 预 算 表 一 2016 年 度 市 级 部 门 收 支 预 算 总 表 二 2016 年 度 市 级 部 门 支 出 预 算 表 三 2016

2015 年 度 收 入 支 出 决 算 总 表 单 位 名 称 : 北 京 市 朝 阳 区 卫 生 局 单 位 : 万 元 收 入 支 出 项 目 决 算 数 项 目 ( 按 功 能 分 类 ) 决 算 数 一 财 政 拨 款 一 一 般 公 共 服 务 支 出 二

新版 明解C++入門編

<453A5CCEC4B5B55C C41CBAAB2F5D4C6BDD3BFDACAB9D3C3CBB5C3F756312E305F E646F63>

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

构建 Bluetooth 移动应用 主讲人 : 任凯 微信 :kaiser-tech 2016 年 5 月 6 日 3

多媒體應用 13 新增專案並完成版面配置 <ExMusic01> <activity_main.xml> ImageView ID imgplay ImageView ID imgstop ImageView ID imgfront TextView ID txtsong TextView ID t

DU Ad Platform_SDK Cocos 接入指南 DU Ad Platform_SDK for Cocos 接入手册 DU Cocos SDK v1.0 百度在线网络技术 ( 北京 ) 有限公司 百度在线网络技术 ( 北京 ) 有限公司 - 1 -

chap07.key

舟山市人民政府办公室文件

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

chp6.ppt

公務員服務法第13條相關解釋彙整表

浙江师范大学2014年度毕业生就业质量报告

目 录 监 管 资 讯 2016 年 全 国 保 险 监 管 工 作 会 议 召 开...3 协 会 动 态 赤 峰 保 险 行 业 协 会 召 开 数 据 统 计 和 信 息 宣 传 总 结 表 彰 会 议...5 赤 峰 市 保 险 行 业 协 会 秘 书 处 召 开 2015 年 度 述 职

同 时, 采 取 提 供 新 闻 线 索 和 素 材 安 排 专 访 等 方 式 主 动 为 新 闻 媒 体 服 务, 为 采 访 报 道 活 动 创 造 便 利 条 件 建 设 网 络 信 息 发 布 平 台 2013 年 9 月 开 通 中 央 纪 委 监 察 部 网 站,2015 年 1 月

大陸教育部等6個部門公佈「現代職業教育體系建設規劃 ( 年)」規劃到2015年初步形成現代職業教育體系框架,到2020年基本建成「中國」特色現代職業教育體系

资 讯 速 递 台 基 于 大 数 据 的 学 校 督 导 评 估 系 统 建 设 上 海 市 闵 行 区 人 民 政 府 教 育 督 导 室 ( 摘 要 ) 闵 行 教 育 在 深 化 教 育 改 革 探 索 管 办 评 分 离 的 背 景 下, 把 教 育 督 导 评 估 系 统 建 设 作 为

B1

時間軸上的竹蓮記憶 學務主任 黃雅彙 我不是竹蓮國小的畢業校友 但對於身為新竹人的我來 說 仔細回想起來 似乎和竹蓮有著一種特別的緣分 對竹蓮國小最初的印象是在小學的時候 猶記得年幼的 我經過一段時日的啦啦隊舞蹈訓練後 老師便帶著我們從學 校步行到竹蓮國小來參加比賽 一踏入竹蓮校門 映入眼簾 的是黑

B1

Microsoft Word - 临政办发6.doc

untitled

EJB-Programming-3.PDF

untitled

Microsoft Word - PHP7Ch01.docx

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

untitled

01_Service

新・解きながら学ぶC言語

Java

<ADB6ADB1C25EA8FAA6DB2D4D56432E706466>

untitled

<4D F736F F D20D5FEB8AEB9A4D7F7B1A8B8E62E646F63>

新版 明解C言語入門編

untitled

新・明解C言語入門編『索引』

GIS数据展示系统用户操作手册

状 态, 规 划 车 辆 行 驶 路 径, 可 进 入 网 站 充 电 服 务 栏 目 (2) 查 询 位 置 联 系 方 式 营 业 时 间 等 信 息, 可 进 入 网 站 服 务 指 南 栏 目 建 议 您 出 行 前 通 过 易 充 电 互 动 网 站 提 前 了 解 所 经 高 速 快 充

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

百度xx SDK用户手册

RxJava

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

JavaIO.PDF

此文章将会根据不同厂商的 SDK 的接入方式逐步分析, 进而梳理出最为精简的接入方式, 同时说明各个接入配置的细节问题 一接入准备工作 关于组件的基本配置将会全部打包到 aar 中的 AndroidManifest 中, 用户只需要手动配置一些与包名相关的权限配置 1.1 小米 混淆配置 基于 aa

全国计算机技术与软件专业技术资格(水平)考试

建模与图形思考

untitled

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2

FY.DOC

使用MapReduce读取XML文件

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc

没 有 多 余 的 Contruol 或 Action 了 原 来 Domain 层 被 服 务 层 Service layer 遮 挡, 在 右 边 图 中, 则 Domain 层 直 接 暴 露 给 前 台 了, 没 有 被 遮 挡, 裸 露 了 这 样 一 步 到 位 实 现 领 域 模 型

Microsoft Word - SC700003SS1-SCICALA霜蝉云接口使用说明V1.0.1_ docx

IoC容器和Dependency Injection模式.doc

地域相关接口API文档

DU Ad Platform_SDK for Android 接 入 手册 Version: DuWeatherSDK_1.1.6 前提 : DuWeather SDK 需要依赖 DU Ad Platform_SDK HW 或 CW ( 含 ) 以上版本 在接 入 DuW

v

_banneradview.settest(true); _banneradview.setuserkeywords("swimming"); _banneradview.setusercategories("1,3,4"); _banneradview.setusergender(jdbanner

(京)新登字063号

手说TTS开发指南

國家圖書館典藏電子全文

国 海 证 券 股 份 有 限 公 司 1 策 略 观 点 每 日 市 场 观 点 :PMI 影 响 偏 短 期 一 国 海 策 略 评 论 : 1 经 济 尚 有 下 行 的 压 力 9 月 财 新 制 造 业 PMI 初 值 47.0, 低 于 市 场 预 期, 新 订 单 与 新 出 口 订

新美大酒店开放平台SDK(.NET版)使用说明.pages

untitled

Transcription:

Android SDK 快速接入文档

目录 概要... 3 1 SDK 介绍... 3 2 AndroidMinfest.xml 配置... 4 3 SDK 初始化... 6 4 发送手机验证码... 10 5 注册... 11 6 登录... 11 7 获取产品列表... 12 8 获取设备列表... 13 9 发现设备... 14 10 绑定设备... 15 11 控制设备... 15 12 接收设备上报消息... 17

概要 开发 青莲云作为物联网后端云服务, 用户可以使用青莲云提供的 Android SDK 快速进行 App 1 SDK 介绍 iotcloud_sdk_x.x.x arm64-v8a libcloudcore.so 动态链接库 armeabi libcloudcore.so 动态链接库 armeabi-v7a libcloudcore.so 动态链接库 iot_cloud_sdk_x.x.x.jar SDK 核心库文件 mips libcloudcore.so 动态链接库 mips64 libcloudcore.so 动态链接库 x86 libcloudcore.so 动态链接库 x86_64 libcloudcore.so 动态链接库

2 AndroidMinfest.xml 配置 <!-- sdcard --> android:name="android.permission.read_external_storage" /> android:name="android.permission.write_external_storage" /> android:name="android.permission.mount_unmount_filesystems" /> <!-- 联网 --> /> android:name="android.permission.internet" android:name="android.permission.change_network_state" /> android:name="android.permission.change_wifi_state" /> android:name="android.permission.access_network_state" /> android:name="android.permission.access_wifi_state" /> android:name="android.permission.change_wifi_multicast_state" /> android:name="android.permission.wake_lock" /> <!-- 定位 -->

android:name="android.permission.access_coarse_location" /> android:name="android.permission.access_fine_location" /> <!-- SDK 使用的签名级别的权限 --> <permission android:name=" 应用包名.permission.IOTCLOUD_MESSAGE" android:protectionlevel="signature" /> android:name=" 应用包名.permission.IOTCLOUD_MESSAGE" /> <!-- 消息服务 --> <service android:name="com.iot.cloud.sdk.api.mqttservice" android:enabled="true" android:exported="false" android:permission=" 应用包名.permission.IOTCLOUD_MESSAGE" /> <!-- 自定义广播接收者, 接收消息和指令 --> <receiver android:name=" 广播接收者全限定类名 " android:enabled="true" android:exported="false"

android:permission=" 应用包名.permission.IOTCLOUD_MESSAGE"> <intent-filter> <action android:name="com.iot.cloud.sdk.intent.message_received" /> </receiver> </intent-filter> 3 SDK 初始化 1 在官网左上角点击授权管理 2 添加应用即可获得 AppID 和 AppToken 推荐在 Application 中进行初始化, 注意只需要在主进程初始化一次即可 public void oncreate() { super.oncreate(); // 判断是主进程 if (getapplicationinfo().packagename

.equals(getcurprocessname(getapplicationcontext()))) { /** * 初始化 SDK */ IotCloudSDK.init(this, AppId, AppToken); 页面 // 设置需要登录时的状态回调, 用来处理页面跳转, 比如跳转到登录 IotCloudSDK.setNeedLoginListener (new INeedLoginListener() { public void onneedlogin(context context) { try { Intent intent = new Intent(context, SetAppIdActivity.class); intent.addflags(intent.flag_activity_clear_task); intent.addflags(intent.flag_activity_new_task); startactivity(intent); catch (Exception e) { Intent intent = new Intent(context, SetAppIdActivity.class); intent.addflags(intent.flag_activity_new_task); startactivity(intent);

); DeviceController.bindGlobalMessage(this); // 返回当前 SDK 的长连接状态 IotCloudSDK.setConnectionStatusListener(new IConnectionStatusListener() { ); public void onconnectionstatus(int i) { LogUtils.e("MQTT 当前状态 : " + i); public static String getcurprocessname(context context) { int pid = android.os.process.mypid(); ActivityManager activitymanager = (ActivityManager) context.getsystemservice(context.activity_service); for (ActivityManager.RunningAppProcessInfo appprocess : activitymanager.getrunningappprocesses()) {

if (appprocess.pid == pid) { return appprocess.processname; return null; public void onmessage(cloudmessage cloudmessage) { if (cloudmessage.geterrormessage().getcode() == CommonError.MQTT_MESSAGE_SUCCESS) { // success switch (cloudmessage.gettype()) { OTA 升级 case CloudMessageType.TYPE_OTA_REV: // 有设备需要手动 break; case CloudMessageType.TYPE_SHARE_REV: // 有分享消息, 请到分享消息列表查看 int sharetype = CloudShareMessageType.getShareType(cloudMessage); { if (sharetype == CloudShareMessageType.TYPE_DEVICE) // 设备分享消息 LogUtils.e(" 设备分享消息 "); else if (sharetype == CloudShareMessageType.TYPE_FAMILY) {

// 家庭分享消息 LogUtils.e(" 家庭分享消息 "); ); break; else { // 错误消息 LogUtils.e(cloudMessage.getErrorMessage()); 4 发送手机验证码 // Zone.CN 表示手机区号,Zone 是 SDK 中的类 IotCloudSDK.getUserManager().getRegisterSMSCode(" 手机号 ", Zone.CN, new ISDKCallback() { public void onsuccess() { // 成功 public void onerror(errormessage errormessage) {

// 失败, 查看错误码和错误信息 // errormessage.getcode(), errormessage.getmessage() ); 5 注册 // 注册接口 // Zone.CN 表示手机区号,Zone 是 SDK 中的类 IotCloudSDK.getUserManager().userRegister(" 手机号 ", " 密码 ", " 短信验证码 ", Zone.CN, new ISDKCallback() { public void onsuccess() { // 成功 public void onerror(errormessage errormessage) { // 失败, 查看错误码和错误信息 // errormessage.getcode(), errormessage.getmessage() ); 6 登录 // 登录接口

// Zone.CN 表示手机区号,Zone 是 SDK 中的类 IotCloudSDK.getUserManager().userLogin(" 手机号 ", " 密码 ", Zone.CN, new ISDKCallback() { public void onsuccess() { // 成功, 可以调用其他接口使用 SDK 了 public void onerror(errormessage errormessage) { // 失败, 查看错误码和错误信息 // errormessage.getcode(), errormessage.getmessage() ); 7 获取产品列表 1 添加产品配置到应用中就会在产品列表接口中获取到 IotCloudSDK.getDeviceManager().getProductList(new ICallback<List<Product>>() {

public void onsuccess(list<product> products) { // 获取产品列表 // Product.productId 表示产品 id public void onerror(errormessage errormessage) { ); 8 获取设备列表 IotCloudSDK.getDeviceManager().getDeviceList(new ICallback<List<CloudDevice>>() { public void onsuccess(list<clouddevice> devicelist) { // 成功 public void onerror(errormessage errormessage) { // 失败, 查看错误码和错误信息 // errormessage.getcode(), errormessage.getmessage() );

9 发现设备 // 注意, 目前相关模组仅支持 2.4GWIFI,5GWIFI 和混合 WIFI 可能无法正常工作 // WIFI 模组目前支持 乐鑫 ESP8266 汉枫 庆科 Mico 高通等 IotCloudSDK.getDeviceManager().startEspSmart(" 路由器名称 ", " 路由器密码 ", 产品 id, new DeviceFoundListener() { public void onerror(errormessage errormessage) { // 一般不会支持此回调 public void finddevice(clouddevice device) { // 可能会多次回调, 回调在主线程 // 回调了设备信息, 其中 iotid 和 iottoken 可用于后续绑定设备 // iotid 表示设备唯一 id // iottoken 主要用于业务上的信息验证, 一般不要展示该字段 String iotid = device.getiotid(); String iottoken = device.getiottoken(); public void nofinddevice() { // 在没有发现设备信息的时候或者超时后总会回调此接口 // 可以表示本次调用完成, 不代表没有发现设备

); 10 绑定设备 // 绑定接口, 传入设备对象 IotCloudSDK.getDeviceManager().bindDevice(CloudDevice clouddevice, new IBindDeviceCallback() { public void onsuccess(binddeviceinfo binddeviceinfo) { // 绑定成功 public void onerror(errormessage errormessage, BindDeviceInfo binddeviceinfo) { ); // 绑定失败 11 控制设备 1 控制设备之前需要为该设备所属的产品增加功能点, 点击进入产品功能后, 添加功能点 即可

// 从产品列表, 设备列表获取的元素 // Product 的 productid // CloudDevice.getIotId // CloudDevice.getSubIotId 该字段可能为空, 当 CloudDevice 实例是子设备的时候该字段有值 // CloudDevice.isSubDevice 判断是否是子设备 DeviceController devicecontroller = new DeviceController( 产品 id, " 设备 id", " 子设备 id 如果有 "); MessageData.Builder builder = new MessageData.Builder(); // key 是云端产品功能页面的数据点功能键 // value 可以是二进制数据类型 int float String // put 方法可以多次调用, 同一个 key 不会覆盖, 会添加多次 builder.put("key", value); builder.put("key", value); builder.put("key", value); // 发送命令

devicecontroller.sendcommand(builder, new ISDKCallback() { public void onsuccess() { // 发送成功 public void onerror(errormessage errormessage) { // 发送失败 ); 12 接收设备上报消息 devicecontroller.setdpupdatelistener(new DeviceController.DPUpdateListener() { public void ondpupdate(list<messagedata> list) { // list 可能为空 // MessageData.key 表示数据点功能键 // 根据 key 来判断是哪个数据点, 然后使用对应的 getvalue 方法, 强转类型即可 ); // getintvalue getfloatvalue getstringvalue getbytearray