Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
Darren edited this page Oct 19, 2018 · 19 revisions

1 配置开发环境

1.1 SDK集成

SDK及Sample使用Android Studio开发,所以使用Android Studio的开发者可以按照以下方式进行集成:

1.集成源码

  • 直接Clone项目代码,将onenet-sdk模块导入到自己的项目中
  • 在application module的build.gradle文件中添加对SDK的依赖,如下图所示

2.build.gradle中添加依赖

推荐使用这种方式集成

dependencies {
 compile 'com.chinamobile.iot.onenet:onenet-sdk:+'
}

1.2 设置AndroidManifest.xml

  • 声明权限
<uses-permission android:name="android.permission.INTERNET"/>
  • 设置APP-KEY

在application标签中加入

<meta-data
 android:name="com.chinamobile.iot.onenet.APP-KEY"
 android:value="APP-KEY"/>

其中value的值为OneNET开发者中心创建的产品apikey

关于如何创建产品和获取apikey的文档,开发者可以参考OneNET开发文档快速开始接入帮助

  • 设置SDK访问的服务器地址

OneNET默认的API服务器地址为api.heclouds.com,但是有些移动的省公司使用了自己的服务器,如福建公司的API服务器地址为api.fj.cmcconenet.com,所以SDK的API地址做成了可配置的,需要在application标签中加入

<meta-data
 android:name="com.chinamobile.iot.onenet.SCHEME"
 android:value="https"/>
<meta-data
 android:name="com.chinamobile.iot.onenet.HOST"
 android:value="API url"/>

1.3 初始化

SDK在使用相应的API前需要进行初始化工作,需要在应用自定义的Application中增加如下代码

@Override
public void onCreate() {
 super.onCreate();
 Config config = Config.newBuilder()
 .connectTimeout(60000, TimeUnit.MILLISECONDS) // 连接超时时间
 .readTimeout(60000, TimeUnit.MILLISECONDS) // 读取数据超时时间
 .writeTimeout(60000, TimeUnit.MILLISECONDS) // 发送数据超时时间
 .retryCount(2) // 连接失败重试次数
 .build();
 OneNetApi.init(this, true, config);
}

1.4 代码混淆

为了保证正常使用 SDK ,请在 proguard-rules.pro 文件中添加以下代码:

-dontwarn com.chinamobile.iot.onenet.**
-keep class com.chinamobile.iot.onenet.** { *; }
-dontwarn okhttp3.**
-keep class okhttp3.** {*;}
-dontwarn okio.**

1.5 系统要求

  • SDK运行要求:Android 1.6 (API 4) 及以上
  • Sample运行要求:Android 4.1 (API 16) 及以上

1.6 使用须知

  • v2.0版本完全重写了SDK,传输层使用OkHttp3,API根据OneNET RESTful文档做了相应的增减,API与v1.x不兼容,请使用了v1.x版本的开发者慎重升级。
  • 如果开发者项目中使用了OkHttp,建议在集成了SDK时使用exclude命令排除SDK中的OkHttp依赖,防止因为版本不同编译时发生冲突报错,即
dependencies {
 compile ('com.chinamobile.iot.onenet:onenet-sdk:+') {
 exclude group: 'com.squareup.okhttp3', module: 'okhttp'
 exclude group: 'com.squareup.okhttp3', module: 'logging-interceptor'
 }
}

AltStyle によって変換されたページ (->オリジナル) /