wenwenqaq0 2022-04-18 19:48 采纳率: 100%
浏览 25
已结题

你好,请问一下你的华为云api在安卓上可以使用了吗?

问题遇到的现象和发生背景

一开始我也遇到了和你一样的问题,编译卡在.build() 然后我去添加了okhttp3的依赖

img

问题相关代码,请勿粘贴截图

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.iotda.v5.region.IoTDARegion;
import com.huaweicloud.sdk.iotda.v5.;
import com.huaweicloud.sdk.iotda.v5.model.
;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    String ak = "AEVF4FYR7P72EDGJQNFM";
    String sk = "xLM2BLfMT8R2qr0uwKmSOYeUDsVEQtmea0wf8QXx";

    ICredential auth = new BasicCredentials()
            .withAk(ak)
            .withSk(sk);

    IoTDAClient client =  IoTDAClient.newBuilder()
            .withCredential(auth)
            .withRegion(IoTDARegion.valueOf("cn-north-4"))
            .build();
    ShowDeviceShadowRequest request = new ShowDeviceShadowRequest();
    request.withDeviceId("6204faa7de9933029be741c1_D11");
    try {
        ShowDeviceShadowResponse response = client.showDeviceShadow(request);
    } catch (ConnectionException e) {
        e.printStackTrace();
    } catch (RequestTimeoutException e) {
        e.printStackTrace();
    } catch (ServiceResponseException e) {
        e.printStackTrace();
        System.out.println(e.getHttpStatusCode());
        System.out.println(e.getErrorCode());
        System.out.println(e.getErrorMsg());
    }
}

}

运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

1条回答 默认 最新

  • 不会写代码的猴子 Android领域优质创作者 2022-04-19 18:05
    关注
    package com.example.myapplication;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.os.Bundle;
    
    import com.huaweicloud.sdk.core.auth.ICredential;
    import com.huaweicloud.sdk.core.auth.BasicCredentials;
    import com.huaweicloud.sdk.core.exception.ConnectionException;
    import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
    import com.huaweicloud.sdk.core.exception.ServiceResponseException;
    import com.huaweicloud.sdk.iotda.v5.region.IoTDARegion;
    import com.huaweicloud.sdk.iotda.v5.;
    import com.huaweicloud.sdk.iotda.v5.model.;
    
    public class MainActivity extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
         
            String ak = "AEVF4FYR7P72EDGJQNFM";
            String sk = "xLM2BLfMT8R2qr0uwKmSOYeUDsVEQtmea0wf8QXx";
         
            ICredential auth = new BasicCredentials()
                    .withAk(ak)
                    .withSk(sk);
         
            IoTDAClient client =  IoTDAClient.newBuilder()
                    .withCredential(auth)
                    .withRegion(IoTDARegion.valueOf("cn-north-4"))
                    .build();
            new Thread(new Runnable() {
                @Override
                public void run() {
                    ShowDeviceShadowRequest request = new ShowDeviceShadowRequest();
                    request.withDeviceId("6204faa7de9933029be741c1_D11");
                    try {
                        ShowDeviceShadowResponse response = client.showDeviceShadow(request);
                    } catch (ConnectionException e) {
                        e.printStackTrace();
                    } catch (RequestTimeoutException e) {
                        e.printStackTrace();
                    } catch (ServiceResponseException e) {
                        e.printStackTrace();
                        System.out.println(e.getHttpStatusCode());
                        System.out.println(e.getErrorCode());
                        System.out.println(e.getErrorMsg());
                    }
                }
            }).start();
        }
    }
    

    耗时操作不要放在主线程

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月27日
  • 已采纳回答 4月19日
  • 创建了问题 4月18日

悬赏问题

  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类