Android获取OneNET云平台数据
尝试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云平台数据的更多相关文章
- 用OkHttpGo和FastJson获取OneNET云平台数据(解析嵌套数组)
JSON数据格式有两种,一种是 { } 大括号表示的JSON对象,一种是 [ ] 中括号表示的JSON数组.从OneNET获取到的数组是这样的,并用Json解析网址查看https://jsonform ...
- 使用OkHttp和OkHttpGo获取OneNET云平台数据
图1是OneNET官网关于NB-IoT文档关于批量查询设备最新数据的介绍,可以看到GET方法的URL地址和两个头部信息(图2是Htto请求消息结构).所以在写url时,还要添加两行头部字段名,不然获取 ...
- [Micropython][ESP8266] TPYBoard V202 之MQTT协议接入OneNET云平台
随着移动互联网的发展,MQTT由于开放源代码,耗电量小等特点,将会在移动消息推送领域会有更多的贡献,在物联网领域,传感器与服务器的通信,信息的收集,MQTT都可以作为考虑的方案之一.在未来MQTT会进 ...
- 万物云平台数据转发 c# 控制台程序
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...
- android 获取http请求json数据
package com.my.gethttpjsondata; import java.io.BufferedReader;import java.io.ByteArrayOutputStream;i ...
- Android 获取meta-data中的数据
在 Android 的 Mainfest 清单文件中,Application,Activity,Recriver,Service 的节点中都有这个的存在.很多时候我们可以通过 meta-data 来配 ...
- 玩转OneNET物联网平台之MQTT服务④ —— 远程控制LED(设备自注册)+ Android App控制
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- 玩转OneNET物联网平台之MQTT服务③ —— 远程控制LED(设备自注册)
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- 【Discuz】云平台服务:出了点小错,由于站点ID/通信KEY等关键信息丢失导致Discuz!云平台服务出现异常
提示信息 出了点小错,由于站点ID/通信KEY等关键信息丢失导致Discuz!云平台服务出现异常 版本X3.2.20160601 解决方案 Step1.修改云平台开通状态为未开通状态 Step2.访问 ...
随机推荐
- 并发编程补充--方法interrupted、isinterrupted详解
并发编程 interrupted()源码 /** * Tests whether the current thread has been interrupted. The * <i>int ...
- 设计模式(九)——装饰者模式(io源码分析)
1 星巴克咖啡订单项目(咖啡馆): 1) 咖啡种类/单品咖啡:Espresso(意大利浓咖啡).ShortBlack.LongBlack(美式咖啡).Decaf(无因咖啡) 2) 调料:Milk.So ...
- shell脚本的使用该熟练起来了,你说呢?(篇二)
继续前一篇的文章: shell脚本的使用该熟练起来了,你说呢?(篇一) 作者:良知犹存 转载授权以及围观:欢迎添加微信公众号:羽林君 shell传递参数 shell传递参数 我们可以在执行 Shell ...
- Codeforces Round #658 (Div. 2) D. Unmerge(dp)
题目链接:https://codeforces.com/contest/1382/problem/D 题意 给出一个大小为 $2n$ 的排列,判断能否找到两个长为 $n$ 的子序列,使得二者归并排序后 ...
- Codeforces Round #651 (Div. 2) D. Odd-Even Subsequence(二分)
题目链接:https://codeforces.com/contest/1370/problem/D 题意 给出一个含有 $n$ 个数的数组 $a$,从中选出 $k$ 个数组成子序列 $s$,使得 $ ...
- python的@是什么(函数装饰器)
可以看菜鸟教程:https://www.runoob.com/w3cnote/python-func-decorators.html 还有一个实例:https://zhuanlan.zhihu.com ...
- hdu2196 Compute
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission ...
- 一张图解决ThreadLocal
一张图解决ThreadLocal 一.前言 年底梳理知识体系时,研究了一下ThreadLocal的源码,整理了一张核心图. 想着,都走到这一步了,那就写一篇深度解读的文章吧.看过我之前文章的小伙伴都知 ...
- 【原创】Linux虚拟化KVM-Qemu分析(九)之virtio设备
背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: KVM版本:5.9 ...
- 【非原创】codeforces 1029F Multicolored Markers 【贪心+构造】
题目:戳这里 题意:给a个红色小方块和b个蓝色小方块,求其能组成的周长最小的矩形,要求红色或蓝色方块至少有一个也是矩形. 思路来源:戳这里 解题思路:遍历大矩形可能满足的所有周长,维护最小值即可.需要 ...