tencent cloud

物联网通信

动态与公告
产品动态
产品简介
产品概述
产品功能
产品优势
应用场景
产品限制
基本概念
快速入门
快速开始
场景一:设备互通
场景二:设备状态上报与状态设置
MQTT.fx接入指南
控制台使用手册
产品管理
规则引擎
子账号访问IoT
固件升级
资源管理
证书管理
开发者手册
功能组件
签名方法
设备身份认证
设备接入协议
网关子设备
消息通信
设备影子
设备固件升级
设备远程配置
资源管理
设备日志上报
NTP服务
设备端接入手册
设备接入概述
基于C SDK接入
基于 Android SDK 接入
基于 Java SDK 接入
基于 Python SDK 接入
API 文档
History
Introduction
API Category
Making API Requests
Device Shadow APIs
Device APIs
CA Certificate APIs
Product APIs
Data Types
Error Codes
常见问题
一般性问题
设备接入和上报问题
规则引擎问题
控制台相关问题
IoT Hub 政策
隐私协议
数据处理和安全协议
词汇表

Android SDK 工程配置

PDF
聚焦模式
字号
最后更新时间: 2024-12-27 17:03:43
腾讯云物联网设备端 Android SDK 依靠安全且性能强大的数据通道,为物联网领域开发人员提供设备端快速接入云端,并和云端进行双向通信的能力。开发人员只需完成工程的相应配置即可完成设备的接入。

前提条件

已按照 设备接入准备 创建好产品和设备。

引用方式

集成 SDK 方式

若不需要将 IoT SDK 运行在 service 组件中,则只需要依赖 iot_core。
依赖 maven 远程构建,示例如下:
dependencies {
implementation 'com.tencent.iot.hub:hub-device-android-core:x.x.x'
implementation 'com.tencent.iot.hub:hub-device-android-service:x.x.x'
}
说明:
用户可根据 版本说明 把上述x.x.x设置成最新版本。
若不需要将 IoT SDK 运行在 service 组件中,则只需要依赖 iot_core。
若需要将 IoT SDK 运行在 service 组件中,则只需依赖 iot_service。
依赖本地 SDK 源码构建: 修改应用模块的 build.gradle,使应用模块依赖 iot_core 和 iot_service 源码,示例如下:
dependencies {
implementation project(':hub:hub-device-android:iot_core')
implementation project(':hub:hub-device-android:iot_service')
}

认证连接

编辑 app-config.json 文件中的配置信息,可在 IoTMqttFragment.java 读取对应以下数据:
{
"PRODUCT_ID": "",
"DEVICE_NAME": "",
"DEVICE_PSK": "",
"SUB_PRODUCT_ID": "",
"SUB_DEV_NAME": "",
"SUB_PRODUCT_KEY": "",
"TEST_TOPIC": "",
"SHADOW_TEST_TOPIC": "",
"PRODUCT_KEY": ""
}
SDK 提供证书认证与密钥认证两种认证方式,需按照已创建的产品认证类型进行选择设置。
密钥认证须在 app-config.json 配置信息中填入 PRODUCT_ID、DEVICE_NAME、DEVICE_PSK 所对应的参数。SDK 会根据设备配置信息自动生成签名,作为接入物联网通信的凭证。
证书认证须在 app-config.json 配置信息中填入 PRODUCT_ID、DEVICE_NAME 等内容并读取设备证书、设备私钥文件的内容。读取方式分为两种:
通过 AssetManager 进行读取,此时需在工程 hub/hub-android-demo/src/main 路径下创建 assets 目录并将设备证书、私钥放置在该目录中。
通过 InputStream 进行读取,此时需传入设备证书、私钥的全路径信息。
1.1 成功读取证书文件与私钥文件之后,需在 IoTMqttFragment.java 中设置 mDevCertName 证书名称与 mDevKeyName 私钥名称。
private String mDevCertName = "YOUR_DEVICE_NAME_cert.crt";
private String mDevKeyName = "YOUR_DEVICE_NAME_private.key";
1.2 配置完成之后,在工程中调用 SDK 中 MQTT 连接的相关接口,即可完成设备的接入。
mMqttConnection = new TXGatewayConnection(mContext, mBrokerURL, mProductID, mDevName, mDevPSK,null,null ,mMqttLogFlag, mMqttLogCallBack, mMqttActionCallBack);
mMqttConnection.connect(options, mqttRequest);

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈