-
Notifications
You must be signed in to change notification settings - Fork 48
Home
Darren edited this page Oct 19, 2018
·
19 revisions
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:+'
}
- 声明权限
<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"/>
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);
}
为了保证正常使用 SDK ,请在 proguard-rules.pro 文件中添加以下代码:
-dontwarn com.chinamobile.iot.onenet.**
-keep class com.chinamobile.iot.onenet.** { *; }
-dontwarn okhttp3.**
-keep class okhttp3.** {*;}
-dontwarn okio.**
- SDK运行要求:Android 1.6 (API 4) 及以上
- Sample运行要求:Android 4.1 (API 16) 及以上
- 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'
}
}
-
1 配置开发环境
-
2 功能使用
- 2.1 设置APP-KEY
- 2.2 HTTP请求结果回调
- 2.3 地图数据点
- 2.4 关于地图坐标系的偏移问题
-
3 API查询
-
4 历史记录