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.访问 ...
随机推荐
- Linux常用命令详解(第二章)(cat、more、less、head、tail、clear、poweroff、reboot、alias、unalias、uname、hostname、history、whitch、wc、w、who、whoami、)
本章命令(共18个): 1 2 3 4 5 6 7 8 9 10 cat more less head tail clear poweroff reboot alias unalias uname h ...
- jvm系列五-java内存模型初览(1)
本文转载自:再有人问你Java内存模型是什么,就把这篇文章发给他. 网上有很多关于Java内存模型的文章,在<深入理解Java虚拟机>和<Java并发编程的艺术>等书中也都有关 ...
- DolphinScheduler1.3.2源码分析(二)搭建源码环境以及启动项目
前置依赖组件安装 找一台服务器,或者本地的虚拟机,然后在服务器上安装好jdk,zookeeper,mysql. 1.源码调试环境搭建 源码环境搭建可以参考DolphinScheduler官方网站的开发 ...
- TZOJ6556: 嗅探器
最近在练Tarjan,看到这道题目分类在割点里面就想尝试做一下,点开发现题目数据范围竟然如此之小,算了,bfs暴力一发. 题目意思就是你需要找到一个关键节点,也可以理解成,行军打仗时必需经过的地方,敌 ...
- 微信支付V3 SDK Payment Spring Boot 1.0.6 发布,实现留守红包,助力抗疫
春节将至,为防控疫情,多地政府提倡员工.外来务工者留守本地过年,并鼓励企业向员工发放"留守红包".为此,微信支付推出"春节留守红包"能力,希望可以协助有发放需求 ...
- PostgreSQL 实现定时任务的 4 种方法
数据库定时任务可以用于实现定期的备份.统计信息采集.数据汇总.数据清理与优化等.PostgreSQL 没有提供类似 Oracle.MySQL 以及 Microsoft SQL Sever 的内置任务调 ...
- UESTC 360(1425) another LCIS
这道题是CD老OJ上面的一道题,现在在新OJ上的题号是360,开始在VJ上做的提交一直RE(囧).后来才知道OJ移位了. 这道题是一个简单的成段更新+区间合并的线段树的题,1A还让我小激动了一下 这道 ...
- Codeforces Round #575 (Div. 3) B. Odd Sum Segments 、C Robot Breakout
传送门 B题题意: 给你n个数,让你把这n个数分成k个段(不能随意调动元素位置).你需要保证这k个段里面所有元素加起来的和是一个奇数.问可不可以这样划分成功.如果可以打印YES,之后打印出来是从哪里开 ...
- Codeforces Round #649 (Div. 2)
Codeforces Round #649 (Div. 2) -- WKL \(\mathcal{A}\)题: \(\mathrm{XXXXX}\) Greedy implementation *12 ...
- QQ空间自动点赞js代码
1.jQuery().each(): each() 方法为每个匹配元素规定要运行的函数. 提示:返回 false 可用于及早停止循环. 函数原型: function(index,element) 为每 ...