阿里云物联网自有app创建之初始化SDK


最近在研究阿里云自有app,这是自己的心得。

一、新建工程,配置gradle,导入.so文件,生成apk

  1. 建立emptyActivity
    在这里插入图片描述
  2. 随便起命,但是注意要包名要以com.开头
    在这里插入图片描述
  3. 打开app的gradle,建立存储**.so动态链接库文件**的libs。
    在这里插入图片描述
    在这里插入图片描述
    gradle同步更新。
    在这里插入图片描述
    可以看到libs被创建在app的目录下
    在这里插入图片描述
  4. 获得.so库,.so库可以在官方下载demoSDK的APK包中解压后,在其lib中获得。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  5. 添加.so文件到工程的libs里面
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    剩下的库同理。
    在这里插入图片描述
  6. 修改gradle(app)的defaultConfig
    在这里插入图片描述
    最后sync同步一下
  7. 修改gradle(app)的buildTypes
    在这里插入图片描述
    在这里插入图片描述
    最后同步一下。在这里插入图片描述
    signingConfigs {
        debug {
            v2SigningEnabled false
            storeFile file("F:\\Android Studio\\key\\mykey.jks")
            storePassword 'p1556573968'
            keyAlias 'key0'
            keyPassword 'p1556573968'
        }
        release {
            v2SigningEnabled false
            storeFile file("F:\\Android Studio\\key\\mykey.jks")
            storePassword 'p1556573968'
            keyAlias 'key0'
            keyPassword 'p1556573968'
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            buildConfigField "String", "BUILD_COUNTRY", "\"CHINA\""
            signingConfig signingConfigs.release
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled false
            buildConfigField "String", "BUILD_COUNTRY", "\"CHINA\""
            signingConfig signingConfigs.debug
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
  1. 创建密钥,打包生成apk文件。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    点击finishi之后会自动生成apk
    在这里插入图片描述
  2. 分析apk,查看是否包含了lib,lib中的确保有libsgmain.so文件
  3. 在这里插入图片描述
    或者 在debug中选择analyze APK,然后选择apk分析
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

二、上传apk,集成安全图片,下载SDK

阿里云飞燕平台

  1. 上传apk生成安全图片
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    失败可以刷新网页,关闭占用apk的程序
  2. 下载安全图片到工程的drawable文件夹中。
    在这里插入图片描述
    在这里插入图片描述
  3. 生成下载SDK
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

三、SDK的集成

  1. 把解压的文件夹中的dependency.gradle复制放在app目录下
    在这里插入图片描述
    在这里插入图片描述
  2. 在gradle中添加 apply from:'dependency.gradle',然后Sync Now 同步gradle。
    在这里插入图片描述
    在这里插入图片描述
  3. 把AndroidManifset.xml文件中的allowBackup改为false
    在这里插入图片描述
  4. 添加编译项
    在这里插入图片描述
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

在这里插入图片描述

四、初始化SDK

  1. 创建一个集成SDK中的AApplication的类。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  2. 重新onCreate()方法
    在这里插入图片描述
    在这里插入图片描述
IoTSmart.InitConfig initConfig = new IoTSmart.InitConfig()
        // REGION_ALL表示连接全球多个接入点;REGION_CHINA_ONLY表示直连中国内地接入点
        .setRegionType(REGION_CHINA_ONLY)
        //
        .setProductEnv(IoTSmart.PRODUCT_ENV_PROD)
        // 是否打开日志
        .setDebug(true);
IoTSmart.init(this, initConfig);
Log.d("myAppliction","IoTSmart.init()成功!!!!!!");
  1. 在清单文件中,让application继承myapplicton,方法如下。
    在这里插入图片描述
  2. 最后进行调试,看到dd’bu’g信息判断是否初始化成功。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    初始化成功。
1.物联网的开发难度越来越低当小王被老板要求开发一个物联网项目时,他面临这许多种解决方案,从硬件到软件一应俱全。有的提供了模块化的硬件,有的提供了高度集成的软件开发环境,有的支持python开发,有的支持图形化开发,有的提供硬件SDK,有的提供从云端到移动端成套的解决方案。小王该如何选择?的确,物联网的开发难度越来越低,只要你想,就可以拖拖拽拽做出来一个简单的设备。移动端APP呢?也是如此,你甚至可以登陆某平台的网站在线生成一个安装包直接安装到手机上。但是这些便利化的前提是失去对核心技术的掌握,以及跳转界面、使用习惯等无法把控。2.移动端APP技能是必备当学习物联网技术的小赵到某公司应聘时,公司技术主管对他的知识结构基本满意。然后让他开发一个物联网项目,要软硬件结合,移动端APP是必备的。小赵可以很快做出来一台基于ESP8266的硬件设备,连接到某物联网平台,做出来一个手机端的APP。但是主管对这个APP不太满意,问小赵自己会不会制作手机APP?小赵有些尴尬。为什么移动端APP技能是必备?因为物联网技术涉及到的知识领域有很多个,能够自己做出APP才算是将这些领域的知识完全掌握。就像是一个侠客的武功,最厉害的那个还没有练成,还不能算是真正的高手。3.定制APP价格很贵市场上有不少的物联网软件公司开展物联网应用APP的定制业务,当然价格不菲。如果是公司采购,你将花费较大的价格采购到一个未来并不可控的APP。反过来说,如果是学生应聘,你学到移动端应用知识,将大大提升你的竞争力,你的技能将成为核心竞争力。4.没有类似的教程原因就不多说了。即使有一些片段代码给了大家,大家也做不出来一个能用的APP。5.本课程要讲什么基于阿里云物联网平台(其他物联网平台类似),带您使用Android Studio编写一个安卓APP,实现连接阿里云物联网平台,控制一台智能灯。通过一个软硬件结合项目,结合源代码,一点一点为大家讲解怎么样连接阿里云物联网平台,每一个步骤是怎么回事,源代码怎么实现。为了照顾一些零基础的朋友,课程中还会用一些通俗的语言介绍这些知识,让大家掌握书上和网络上一些不太注意的技术细节。  
阿里云物联网是一种基于云端的物联网平台,提供了完整的物联网解决方案和丰富的API接口供开发者使用。本文将介绍如何使用Android Studio实现阿里云物联网的方法。 1. 创建阿里云账号和物联网实例 首先需要在阿里云官网注册账号,并创建物联网实例。创建物联网实例的详细步骤可以参考阿里云官网提供的文档。 2. 集成SDKAndroid Studio中,可以通过Gradle集成阿里云物联网SDK。在app的build.gradle文件中添加以下依赖: ``` dependencies { implementation 'com.aliyun.alink:alink-sdk:5.5.8' } ``` 3. 初始化SDK 在使用SDK之前,需要在Application中进行初始化。在Application的onCreate方法中添加以下代码: ``` public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); // 初始化阿里云物联网SDK IoTAPIClient.init(this, "yourAppKey", "yourAppSecret"); } } ``` 其中,"yourAppKey"和"yourAppSecret"是在阿里云物联网控制台创建应用时生成的AppKey和AppSecret。 4. 连接设备 连接设备需要使用设备的三元组(ProductKey、DeviceName、DeviceSecret)。在连接设备之前,需要先获取设备的三元组。获取设备三元组的方法可以参考阿里云官网提供的文档。 连接设备的代码如下: ``` String productKey = "yourProductKey"; String deviceName = "yourDeviceName"; String deviceSecret = "yourDeviceSecret"; // 连接设备 IoTAPIClient ioTAPIClient = new IoTAPIClient(); ioTAPIClient.connect(productKey, deviceName, deviceSecret, new ConnectionCallback() { @Override public void onError(Throwable throwable) { // 连接失败 } @Override public void onConnectDone(boolean b, String s) { if (b) { // 连接成功 } else { // 连接失败 } } }); ``` 5. 发送消息 连接设备成功后,可以通过SDK发送消息到设备。发送消息的方法如下: ``` String topic = "/"+productKey+"/"+deviceName+"/user/update"; String message = "{\"id\":\"123\",\"params\":{\"powerSwitch\":1}}"; // 发送消息 ioTAPIClient.publish(topic, message, new RequestCallback() { @Override public void onSuccess(String s) { // 发送成功 } @Override public void onFailure(Exception e) { // 发送失败 } }); ``` 其中,topic是消息主题,message是消息内容。 6. 接收消息 接收设备发送过来的消息需要通过订阅消息主题来实现。订阅消息主题的方法如下: ``` String topic = "/"+productKey+"/"+deviceName+"/user/get"; // 订阅消息 ioTAPIClient.subscribe(topic, new RequestCallback() { @Override public void onSuccess(String s) { // 订阅成功 } @Override public void onFailure(Exception e) { // 订阅失败 } }); // 接收消息 ioTAPIClient.addOnPushListener(new OnPushListener() { @Override public void onCommand(String s, Object o) { // 接收到消息 } }); ``` 其中,topic是要订阅的消息主题,addOnPushListener方法用于注册消息推送的回调函数。 通过以上步骤,就可以通过Android Studio实现阿里云物联网的连接和消息通信功能了。需要注意的是,具体的实现方法还需要根据实际情况进行调整和修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值