尝试HttpURLConnection “get”方式获取了www.baidu.com的数据后,试着获取OneNET云平台的设备数据(设备数据已成功上传至云平台)

.java文件

 1 package com.example.onenet_block_get;
2
3 import androidx.appcompat.app.AppCompatActivity;
4
5 import android.os.Bundle;
6 import android.os.Handler;
7 import android.os.Message;
8 import android.util.Log;
9 import android.view.Menu;
10 import android.view.View;
11 import android.widget.Button;
12 import android.widget.TextView;
13
14 import java.io.BufferedReader;
15 import java.io.IOException;
16 import java.io.InputStream;
17 import java.io.InputStreamReader;
18 import java.net.HttpURLConnection;
19 import java.net.MalformedURLException;
20 import java.net.URL;
21
22 public class MainActivity extends AppCompatActivity implements View.OnClickListener {
23
24 TextView responseText;
25 private static final String DeviceID = " ";/*填入自己的设备ID*/
26 private static final String Apikey = " ";/*填入自己的Apikey*/
27
28 @Override
29 protected void onCreate(Bundle savedInstanceState) {
30 super.onCreate(savedInstanceState);
31 setContentView(R.layout.testget);
32 Button sendRequest = (Button) findViewById(R.id.send_request);
33 responseText = (TextView) findViewById(R.id.reponse_text);
34 sendRequest.setOnClickListener(this);
35 }
36
37 public void onClick(View v) {
38 if (v.getId() == R.id.send_request) {
39 sendRequestWithHttpURLConnection();
40 }
41 }
42
43 private void sendRequestWithHttpURLConnection() {
44 new Thread(new Runnable() {
45 @Override
46 public void run() {
47 HttpURLConnection connection = null;
48 BufferedReader reader = null;
49 try {
50 URL url = new URL("https://api.heclouds.com/devices/ ");/*填入自己的设备ID*/
51 connection = (HttpURLConnection) url.openConnection();
52 connection.setRequestMethod("GET");
53 connection.setConnectTimeout(8000);
54 connection.setReadTimeout(8000);
55 connection.setRequestProperty("api-key",Apikey);
56 InputStream in = connection.getInputStream();
57
58 reader = new BufferedReader(new InputStreamReader(in));
59 StringBuilder response = new StringBuilder();
60 String line;
61 while ((line = reader.readLine()) !=null ) {
62 response.append(line);
63 }
64 showResponse(response.toString());
65 }catch (Exception e){
66 e.printStackTrace();
67 }finally {
68 if(reader != null) {
69 try {
70 reader.close();
71 }catch (IOException e) {
72 e.printStackTrace();
73 }
74 }
75 if(connection != null) {
76 connection.disconnect();
77 }
78 }
79 }
80 }).start();
81 }
82
83 private void showResponse(final String response) {
84 runOnUiThread(new Runnable() {
85 @Override
86 public void run() {
87 responseText.setText(response);
88 }
89 });
90 }
91 }
.xml文件
 1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:orientation="vertical" android:layout_width="match_parent"
4 android:layout_height="match_parent">
5
6 <Button
7 android:layout_width="match_parent"
8 android:layout_height="wrap_content"
9 android:id="@+id/send_request"
10 android:text="Send Request"/>
11
12 <ScrollView
13 android:layout_width="match_parent"
14 android:layout_height="match_parent">
15
16 <TextView
17 android:layout_width="match_parent"
18 android:layout_height="wrap_content"
19 android:id="@+id/reponse_text"/>
20 </ScrollView>
21 </LinearLayout>

下一步就是尝试解析json数据了

Android获取OneNET云平台数据的更多相关文章

  1. 用OkHttpGo和FastJson获取OneNET云平台数据(解析嵌套数组)

    JSON数据格式有两种,一种是 { } 大括号表示的JSON对象,一种是 [ ] 中括号表示的JSON数组.从OneNET获取到的数组是这样的,并用Json解析网址查看https://jsonform ...

  2. 使用OkHttp和OkHttpGo获取OneNET云平台数据

    图1是OneNET官网关于NB-IoT文档关于批量查询设备最新数据的介绍,可以看到GET方法的URL地址和两个头部信息(图2是Htto请求消息结构).所以在写url时,还要添加两行头部字段名,不然获取 ...

  3. [Micropython][ESP8266] TPYBoard V202 之MQTT协议接入OneNET云平台

    随着移动互联网的发展,MQTT由于开放源代码,耗电量小等特点,将会在移动消息推送领域会有更多的贡献,在物联网领域,传感器与服务器的通信,信息的收集,MQTT都可以作为考虑的方案之一.在未来MQTT会进 ...

  4. 万物云平台数据转发 c# 控制台程序

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...

  5. android 获取http请求json数据

    package com.my.gethttpjsondata; import java.io.BufferedReader;import java.io.ByteArrayOutputStream;i ...

  6. Android 获取meta-data中的数据

    在 Android 的 Mainfest 清单文件中,Application,Activity,Recriver,Service 的节点中都有这个的存在.很多时候我们可以通过 meta-data 来配 ...

  7. 玩转OneNET物联网平台之MQTT服务④ —— 远程控制LED(设备自注册)+ Android App控制

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  8. 玩转OneNET物联网平台之MQTT服务③ —— 远程控制LED(设备自注册)

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  9. 【Discuz】云平台服务:出了点小错,由于站点ID/通信KEY等关键信息丢失导致Discuz!云平台服务出现异常

    提示信息 出了点小错,由于站点ID/通信KEY等关键信息丢失导致Discuz!云平台服务出现异常 版本X3.2.20160601 解决方案 Step1.修改云平台开通状态为未开通状态 Step2.访问 ...

随机推荐

  1. Pytest(18)pytest接口自动化完整框架思维导图

    pytest接口自动化完整框架思维导图

  2. NetCore控制台程序-使用HostService和HttpClient实现简单的定时爬虫

    .NetCore承载系统 .NetCore的承载系统, 可以将长时间运行的服务承载于托管进程中, AspNetCore应用其实就是一个长时间运行的服务, 启动AspNetCore应用后, 它就会监听网 ...

  3. springmvc url-pattern配置/*报错

    问题:springmvc 中dispatcherServlet配置url-pattern  "/*"时提示找不到controllercontroller RequestMappin ...

  4. D - D (最短路解决源点到多点,多点到源点的和(有向图))

    问从1号点到各个点的距离+各个点到1号点之间的距离和的最小值 In the age of television, not many people attend theater performances ...

  5. hdu4126Genghis Khan the Conqueror (最小生成树+树形dp)

    Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 327680/327680 K (Java/Others) Total Submiss ...

  6. 【uva 714】Copying Books(算法效率--二分+贪心)

    题意:将1个含N个正整数的序列划分成K个连续的子序列,使每段的和的最大值尽量小,问字典序最小的划分方案. 解法:由于是连续的数的"最大值最小",便可想到二分每段的最大值,若这时可分 ...

  7. AtCoder Beginner Contest 173 D - Chat in a Circle (贪心)

    题意:有一个空环和\(n\)个点,每次可以选择一个点放在空环上,并且获得周围两个点中最小的那个的权值,问能获得的最大的权值是多少? 题解:我们每次都优先放最大的进去,注意每次放的时候都要将这个点放在当 ...

  8. Codeforces Round #658 (Div. 2) D. Unmerge (思维,01背包)

    题意:有两个数组\(a\)和\(b\),每次比较它们最左端的元素,取小的加入新的数组\(c\),若\(a\)或\(b\)其中一个为空,则将另一个全部加入\(c\),现在给你一个长度为\(2n\)的数组 ...

  9. ef学习记录

    EF Core (EntityFramework Core)是实体关系映射(O/RM)数据库访问框架.这个模式的好处就是让开发人员可以用对象模型来操作数据库,这是一种对开发人员较为友好的方式. O/R ...

  10. SQL Server的嵌套存储过程中使用同名的临时表怪像浅析

      SQL Server的嵌套存储过程,外层存储过程和内层存储过程(被嵌套调用的存储过程)中可以存在相同名称的本地临时表吗?如果可以的话,那么有没有什么问题或限制呢? 在嵌套存储过程中,调用的是外层存 ...