Android开发之基于OneNET平台的EDP传输协议的使用

EDP协议是OneNET平台发布的通信协议。作为学生党,OneNET平台可以说是非常良心了,废话不多说,今天我来分享一下如何用Android通过EDP协议来查询数据流。

实现的方式是多线程。首先新创建一个类:Mythread。

然后在里面构建如下函数

`public String Getvalue1() {

String respon = "";

try {

//1创建一个URL对象,并传入目标网络地址,其中device_id是你i要查询的数据流的设备id,datastream_id是查询的数据流的名字。

URL url = new URL("http://api.heclouds.com/devices/" +device_id + "/datastreams/"+datastream_id);

HttpURLConnection conn = (HttpURLConnection) url.openConnection(); //2然后用openConnection方法

conn.setConnectTimeout(15 * 1000); //设置连接超时的时间

conn.setRequestMethod("GET"); //3HTTP请求的方法是GET

conn.setRequestProperty("api-key", ApiKey); //4消息头

if (conn.getResponseCode() == 200) { //返回码是200,网络正常

InputStream is = conn.getInputStream(); //读取获得的输入流

ByteArrayOutputStream os = new ByteArrayOutputStream();//字节数组输出流在内存中创建一个字节数组缓冲区,

int len = 0; //所有发送到输出流的数据保存在该字节数组缓冲区中。

byte buffer[] = new byte[1024];

while ((len = is.read(buffer)) != -1) { // // 将内容读到buffer中,读到末尾为-1

os.write(buffer, 0, len);

}

is.close();//关闭

os.close();

JSONObject root = new JSONObject(os.toString()); //将缓冲区的内容转换为字符串,然后字符串构建JSON对象

respon = root.getJSONObject("data").getString("current_value");

Log.e("返回数据",""+root);

}else {

//返回码不是200,网络异常

}

} catch (IOException | JSONException e) {

e.printStackTrace();

}

return respon;

});

这样Mythread就构建完成可以使用了。

然后是在MainActivity中的声明:

TextView tvtemp1;

Handler handler = new Handler();

Mythread myThread1 = new Mythread();

然后再构建一个Runnable函数用于启动我们刚刚构建的类。

private Runnable task =new Runnable() {

@Override

public void run() {

handler.postDelayed(this,5*50);

tvtemp1=(TextView)findViewById(R.id.tv_temp1);

String Temp1 = myThread1.Getvalue1();//将数据赋值给Temp1

tvtemp1.setText(""+Temp1);//数据写入layout里面的tvtemp1

}

};

最后在onCreate里面添加

setContentView(R.layout.activity_main);

handler.post(task);

再去layout里面放一个对应的Textview。

这样就大功告成啦!

当然了,做任何小玩意儿都不要忘记申请权限,我们这次也要申请联网权限。

在AndroidManifest.xml中加入一句

希望各位初学者能成功运行程序,一起享受创造的乐趣!我也是刚刚开始学习的新手,有大佬路过欢迎指点!

下次我会分享一些EDP协议里别的命令,比如下发命令。

Android发送edp服务器,Android开发之基于OneNET平台的EDP传输协议的使用相关推荐

  1. Android 是Google开发的基于Linux平台的开源手机操作系统

    Android 是Google开发的基于Linux平台的开源手机操作系统(在华注册商标名为"安致").它摩托罗拉的首款Android手机CLIQ包括操作系统.用户界面和应用程序 - ...

  2. 中国移动M5310 nbiot开发板连接onenet平台全过程

    中国移动M5310 nbiot开发板连接onenet平台全过程 详细介绍一下中移m5310 nbiot开发板对接onenet云平台的全过程,简单实现了温湿度的采集,及数据上报与可视化显示. 一.M53 ...

  3. android下载图片 服务器,Android网络客户端从服务器电脑上下载图片

    前言,bitmap位图,后缀名.bmp/.dip,图片的一种编码格式,一张图片由多个像素组成,每个像素可以表达多种色彩.bitmap是inputStream.drawable.byte[].outpu ...

  4. android rtmp流媒体服务器,Android 使用Rtmp音视频推流

    http://blog.csdn.net/a992036795/article/details/54583571 前言 本文介绍的是使用Android摄像头.麦克风采集的音.视频进行编码.然后通过li ...

  5. android service前台服务器,Android网络前台向服务端页面请求数据

    这是一个android前台向服务端网站请求少量数据的小例子. 首先设计好服务端,再来写安卓前端. 一:服务端 新建动态网站,在java包下新建一个类继承HttpServlet父类,重写doGet()方 ...

  6. android启动微信服务器,Android之高仿微信“启动画面”(一)

    前记:最近忙于学业,好久没更新博客了,是时候该回来了. 其实,不单单是微信,许多应用都有启动画面. 关键方法: 1.通过Handler类实现启动画面的延时. 2.通过Intent类实现跳转到另一个Ac ...

  7. 【项目设计】基于OneNet平台的心率监测系统 -嵌入式 -物联网

    基于OneNET云平台心率监测系统 一.引言 随着我国人口老龄化程度的加深和慢性病人群数量的增加,健康管理愈发重要.心率的监测和心率异常及时报警具有重要的意义. 二.整体方案 该设计分为本地设备端,云 ...

  8. Android源码编译——RK3128开发板基于Android5.1源码编译小记

    前言: 本次小记主要分为三段.前两段相当于对源码编译的一个回顾.本次小记主要第三段,记下了编译中出现的几个问题,以便日后需要. 1.编译时编译线程过多.导致编译失败. 2.编译image没问题打包OT ...

  9. android客户端与服务器交互数据(基于SAOP协议的远程调用标准,通过webservice可以将不同操作系统平台,不同语言,不同技术整合)

    在PC机器java客户端中,需要一些库,比如XFire,Axis2,CXF等等来支持访问WebService,但是这些库并不适合我们资源有限的android手机客户端,做过JAVA ME的人都知道有K ...

  10. Android音乐播放器eclipse,简单的Android音乐播放器 eclipse开发的基于Android平台的音乐播放器 - 下载 - 搜珍网...

    压缩包 : 音乐播放器.zip 列表 音乐播放器/ 音乐播放器/.classpath 音乐播放器/.project 音乐播放器/.settings/ 音乐播放器/.settings/org.eclip ...

最新文章

  1. C++/C++11中std::set用法汇总
  2. 快速撑握C#知识点系列之(struct)结构
  3. 图像滤镜艺术---图像滤镜晕影调节算法研究
  4. C++ main函数命令行参数使用
  5. weblogic12.1.3安装
  6. 数据预处理与数据分类预测
  7. 做到这 3 点,斩获 BAT Offer 不是梦
  8. 【设计模式】迭代器模式
  9. PDF Explained(翻译)第一章 简介
  10. C#敏感词过滤算法实现
  11. 防病毒服务器维护记录表,机房巡检记录表.doc
  12. 自然语言处理怎么最快入门
  13. python全栈工程师待遇如何_python全栈工程师工作待遇
  14. 盘点那些效果酷炫的大数据看板
  15. 计算机网络实验(三个部分--验证性、Wireshark、CPT)
  16. 职业操盘手的止损法则
  17. 如何申请注册邮箱?需要跟人工在线客服申请邮箱么?
  18. 51nod 1770数数字(找规律)
  19. 北京华为HCIE认证网络工程师快速完成设备流量控制和风暴控制
  20. 【PowerDesigner】一款超好用的E-R图工具,快速构建出高质量的数据库结构,提高开发效率和代码质量

热门文章

  1. 黑帽SEO网站优化常用的14种技巧
  2. Data Migration 架构
  3. 会话语义角色标注:Conversational Semantic Role Labeling
  4. 11.3-11.4kmp专题训练
  5. 记一次企业微信回调解密报错
  6. WIN7+LR11+IE8无法打开的问题解决方法
  7. ie不能加载java_解决IE中页面Java无法加载的问题
  8. Adversarial Generation of Continuous Images 阅读笔记
  9. 计算机解决问题的几个必要,1–1计算机解决问题的过程.ppt
  10. fflush(stdout)