收藏官网首页
查看: 8980|回复: 0

数据接入Android SDK集成指南

72

主题

90

帖子

366

积分

中级会员

Rank: 3Rank: 3

积分
366
跳转到指定楼层
楼主
发表于 2015-1-27 20:21:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
注册成为机智云开发者,手机加虚拟设备快速开发
第一步:将 SDK 导入到你的工程中
  • 登录机智云官方网站下载并解压最新版本的SDK。
  • 将解压后的 jar 文件 复制到 Android 项目的 libs 目录即可

第二步:引入头文件和注册 SDK 的 AppID
  • 登录机智云官方网站查看产品信息获得 AppID 。
  • 初始化 SDK

在 Application的 onCreate() 方法来初始化 SDK,指定APPID.

public void onCreate(){    // 启动SDK,参数为机智云官网中查看产品信息得到的AppID     GizDataAccess.startWithAppId(getApplicationContext(), “APP_ID”);}第三步:用户登录
  • 注册用户登录监听

如下

GizDataAccessLogin gdalogin = new GizDataAccessLogin(this);
  • 实现用户登录的回调方法

如下

public void didLogin(String uid, String token,        GizDataAccessErrorCode result, String message) {    if (result.getResult() == 0 && uid != null && token != null) {        // 登录成功        // ……    } else {        // 登录失败        // ……    }}
  • 用户登录
    当前版本提供匿名登录方式,SDK会生成默认的用户名。

如下

gdaLogin.loginAnonymous();第四步:数据接入
  • 注册 数据接入 监听

如下

GizDataAccessSource gdaSource = new GizDataAccessSource(this);数据上传
  • 实现 数据上传 的回调方法

如下

public void didSaveData(GizDataAccessSource source,        GizDataAccessErrorCode result, String message) {    if (result.getResult() == 0) {        // 上传成功        // ……    }}
  • 上传数据
    数据上传时,应指定数据的产生时间,数据格式为标准的JSON。

如下

gdaSource.saveData(“YOUR_LOGIN_TOKEN”, “YOUR_BT_PRODUCT_KEY”, “YOUR_BT_DEVICE_SN”, DATA_TIMESTAMP, “YOUR_DATA”);数据获取
  • 实现 数据获取 的委托方法
    获取到的数据内容,按以下键值对方式提供:
    "attrs" : { [dynamic_keys] : [dynamic_values], ... },
    "uid" : [uid],
    "sn" : [sn],
    "ts" : [ts],
    "product_key" : [product_key]

如下

public void didLoadData(GizDataAccessSource arg0, JSONArray jsonArray, GizDataAccessErrorCode result, String message) {    if (result.getResult() == 0) {        if (jsonArray != null) {             for (int i = 0; i < jsonArray.length(); i++) {                try {                    JSONObject jsonObject = jsonArray.getJSONObject(i);                    System.out.println("uid: " + jsonObject.get("uid"));                    System.out.println("device_sn: " + jsonObject.get("device_sn"));                    System.out.println("product_key: " + jsonObject.get("product_key"));                    System.out.println("ts: " + jsonObject.get("ts"));                    System.out.println("attrs: " + jsonObject.get("attrs"));                    System.out.println("\n");                } catch (JSONException e) {                    e.printStackTrace();                }            }        } else {             System.out.println("暂无数据");        }    } else {        System.out.println("读取失败:" + message);    }}
  • 获取数据
    获取数据时,需指定起止时间段。如果limit值为0将只返回20条数据,若skip值为负数,则获取失败。

如下

gdaSource.loadData(“YOUR_LOGIN_TOKEN”, “YOUR_BT_PRODUCT_KEY”, “YOUR_BT_DEVICE_SN”, START_DATA_TIME, END_DATA_TIME, 20, 0);Error codes
codemessage
0success
9002product_key invalid
9003appid invalid
9004token invalid
9006token expired
9008server error
9015form invalid
9999reserved

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表