Android发送edp服务器,Android开发之基于OneNET平台的EDP传输协议的使用
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传输协议的使用相关推荐
- Android 是Google开发的基于Linux平台的开源手机操作系统
Android 是Google开发的基于Linux平台的开源手机操作系统(在华注册商标名为"安致").它摩托罗拉的首款Android手机CLIQ包括操作系统.用户界面和应用程序 - ...
- 中国移动M5310 nbiot开发板连接onenet平台全过程
中国移动M5310 nbiot开发板连接onenet平台全过程 详细介绍一下中移m5310 nbiot开发板对接onenet云平台的全过程,简单实现了温湿度的采集,及数据上报与可视化显示. 一.M53 ...
- android下载图片 服务器,Android网络客户端从服务器电脑上下载图片
前言,bitmap位图,后缀名.bmp/.dip,图片的一种编码格式,一张图片由多个像素组成,每个像素可以表达多种色彩.bitmap是inputStream.drawable.byte[].outpu ...
- android rtmp流媒体服务器,Android 使用Rtmp音视频推流
http://blog.csdn.net/a992036795/article/details/54583571 前言 本文介绍的是使用Android摄像头.麦克风采集的音.视频进行编码.然后通过li ...
- android service前台服务器,Android网络前台向服务端页面请求数据
这是一个android前台向服务端网站请求少量数据的小例子. 首先设计好服务端,再来写安卓前端. 一:服务端 新建动态网站,在java包下新建一个类继承HttpServlet父类,重写doGet()方 ...
- android启动微信服务器,Android之高仿微信“启动画面”(一)
前记:最近忙于学业,好久没更新博客了,是时候该回来了. 其实,不单单是微信,许多应用都有启动画面. 关键方法: 1.通过Handler类实现启动画面的延时. 2.通过Intent类实现跳转到另一个Ac ...
- 【项目设计】基于OneNet平台的心率监测系统 -嵌入式 -物联网
基于OneNET云平台心率监测系统 一.引言 随着我国人口老龄化程度的加深和慢性病人群数量的增加,健康管理愈发重要.心率的监测和心率异常及时报警具有重要的意义. 二.整体方案 该设计分为本地设备端,云 ...
- Android源码编译——RK3128开发板基于Android5.1源码编译小记
前言: 本次小记主要分为三段.前两段相当于对源码编译的一个回顾.本次小记主要第三段,记下了编译中出现的几个问题,以便日后需要. 1.编译时编译线程过多.导致编译失败. 2.编译image没问题打包OT ...
- android客户端与服务器交互数据(基于SAOP协议的远程调用标准,通过webservice可以将不同操作系统平台,不同语言,不同技术整合)
在PC机器java客户端中,需要一些库,比如XFire,Axis2,CXF等等来支持访问WebService,但是这些库并不适合我们资源有限的android手机客户端,做过JAVA ME的人都知道有K ...
- Android音乐播放器eclipse,简单的Android音乐播放器 eclipse开发的基于Android平台的音乐播放器 - 下载 - 搜珍网...
压缩包 : 音乐播放器.zip 列表 音乐播放器/ 音乐播放器/.classpath 音乐播放器/.project 音乐播放器/.settings/ 音乐播放器/.settings/org.eclip ...
最新文章
- C++/C++11中std::set用法汇总
- 快速撑握C#知识点系列之(struct)结构
- 图像滤镜艺术---图像滤镜晕影调节算法研究
- C++ main函数命令行参数使用
- weblogic12.1.3安装
- 数据预处理与数据分类预测
- 做到这 3 点,斩获 BAT Offer 不是梦
- 【设计模式】迭代器模式
- PDF Explained(翻译)第一章 简介
- C#敏感词过滤算法实现
- 防病毒服务器维护记录表,机房巡检记录表.doc
- 自然语言处理怎么最快入门
- python全栈工程师待遇如何_python全栈工程师工作待遇
- 盘点那些效果酷炫的大数据看板
- 计算机网络实验(三个部分--验证性、Wireshark、CPT)
- 职业操盘手的止损法则
- 如何申请注册邮箱?需要跟人工在线客服申请邮箱么?
- 51nod 1770数数字(找规律)
- 北京华为HCIE认证网络工程师快速完成设备流量控制和风暴控制
- 【PowerDesigner】一款超好用的E-R图工具,快速构建出高质量的数据库结构,提高开发效率和代码质量
热门文章
- 黑帽SEO网站优化常用的14种技巧
- Data Migration 架构
- 会话语义角色标注:Conversational Semantic Role Labeling
- 11.3-11.4kmp专题训练
- 记一次企业微信回调解密报错
- WIN7+LR11+IE8无法打开的问题解决方法
- ie不能加载java_解决IE中页面Java无法加载的问题
- Adversarial Generation of Continuous Images 阅读笔记
- 计算机解决问题的几个必要,1–1计算机解决问题的过程.ppt
- fflush(stdout)