移动便携设备,手机、平板是Android系统,在最底层传感器是检测模块。收集到的数据通过zigbee 发送给协调器,协调器给网关,最后到服务器,然后Android将服务器的数据外部调用(归根结底,还是与服务器的通信)。这时候用到的就是Web Service,而手机端就是客户端。完成这个调用,首先要在服务器端部署Web Service,之后再在客户端书写代码,访问接口,调用数据。把这个思路理清,接下来再去做,而我在这里首先将客户端的代码书写,服务器端在下一篇中给出详细的说明。
一、准备工作
1SDK中并没有Web Service的类库,这就需要第三方类库调用,就是koasp2,简单的说,你得先导入一个jar包。完成之后如下图。
2部署服务器端首先需要Tomcat,这是下一篇中才会用到的,我在这儿只是先把它准备好,客户端的简单调用用不到它。>
二、接下来就是代码的编写过程(注:这是客户端的)
1首先还是Manifest,给它一个网络访问权限
2书写xml布局文件(还是因为自己做得界面太丑,不粘了)
3书写Activity。新建一个类(这只是代码示例,需要写的就是这些,可以传多个参数),
public class CommonWebService {
// 所调用的WebService的终端
public static String endpoint = ">
// 所调用的WebService的地址
public static String ip = "192168121";
// 所调用的WebService的命名空间
public static String namespace = ">
// 所调用的WebService中的方法
public static final String Infusion_METHOD = "MygetInfusion";
public void show_Infusion() {
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
// 定义命名空间
String nameSpace = ">
// 定义调用方法名称
String methodName = "query_Infusion";
// endPoint以及soapAction
String endPoint = ">
String soapAction = ">
// 指定WebService的命名空间和调用方法
SoapObject soapObject = new SoapObject(nameSpace, methodName);
// 生成调用WebService方法调用的soap信息,并且指定Soap版本
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelopeVER11);
envelopebodyOut = soapObject;
//并不是dotnet开发的Web Service
envelopedotNet = false;
// 输出
envelopesetOutputSoapObject(soapObject);
// 定义一个>
>
try {
transportcall(soapAction, envelope);
// transportcall(null, envelope);
} catch (IOException e) {
// TODO Auto-generated catch block
eprintStackTrace();
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
// 获取返回的数据
SoapObject object = (SoapObject) envelopebodyIn;
// 获取返回的结果
String result = null;
result = objectgetProperty(0)toString();
Message message = handler_shuyeobtainMessage();
messageobj = result;
handler_shuyesendMessage(message);
}
})start();
}
public static String reslut_shuye;
private static Handler handler_shuye = new Handler() {
@Override
public void handleMessage(androidosMessage msg) {
// 将WebService得到的结果返回给TextView
reslut_shuye = msgobjtoString();
};
};
}
4在上述的代码中,需要注意的几点,你调用Web Service,你得先弄明白四个值:命名空间、调用的方法名称、EndPoint、SOAP Action。因为服务器端是自己部署,wsdl就要自己写,自己会部署服务器端了,这四个值也就一幕了然了。
SwiftUI 界面大全之IOT物联网复杂管理界面1、轮播图轮动主界面
2、see all查看全部组件
3、自动增长数字组件
4、设备管理组件
5、房间管理组件课程名称
使用教材
备注
物联网产业与技术导论
《物联网:技术、应用、标准与商业模式》,电子工业出版社,等教材。
在学完高等数学,物理,化学,通信原理,数字电路,计算机原理,程序设计原理等课程后开设本课程,全面了解物联网之RFID、M2M、传感网、两化融合等技术与应用。
C语言程序设计
《C语言程序设计》,清华大学出版社,等教材。
物联网涉及底层编程,C语言为必修课,同时需要了解OSGi,OPC,Silverlight等技术标准
Java程序设计
《Java语言程序设计教程》,机械工业出版社,等教材。
物联网应用层,服务器端集成技术,开放Java技术也是必修课,同时需要了解Eclipse,SWT, Flash, HTML5,SaaS等技术
无线传感网络概论
《无线传感器网络理论、技术与实现》,国防工业出版社,《短距离无线通讯入门与实战》北京航空航天大学出版社,等教材。
学习各种无线RF通讯技术与标准,Zigbee, 蓝牙,WiFi,GPRS,CDMA,3G, 4G, 5G,Mote等等
TCP/IP网络与协议
《TCP/IP网络与协议》,清华大学出版社,等教材。
TCP/IP以及OSI网络分层协议标准是所有有线和无线网络协议的基础,Socket编程技术也是基础技能,为必修课
嵌入式系统
《嵌入式系统技术教程》,人民邮电出版社等教材。
嵌入式系统是物联网感知层和通讯层重要技术,了解TinyOS等,为必修课
传感器技术概论
《传感器技术》,中国计量出版社,等教材。
物联网专业学生需要对传感器技术与发展,尤其是在应用中如何选用有所了解,但不一定需要了解传感器的设计与生产,对相关的材料科学,生物技术等有深入了解
RFID技术概论
《射频识别(RFID)技术原理与应用》,机械工业出版社,等教材。
RFID作为物联网主要技术之一,需要了解,它本身(与智能卡技术融合)可以是一个细分专业或行业,也可以是研究生专业选题方向。
工业信息化及现场总线技术
《现场总线技术及应用教程》,机械工业出版社,等教材。
工业信息化也是物联网主要应用领域,需要了解,它本身也可以是一个细分专业或行业,也可作为研究生专业选题方向。
M2M技术概论
《M2M: The Wireless Revolution》,TSTC Publishing,等教材。
本书是美国“Texas State Techinical College”推出的M2M专业教材,在美国首次提出了M2M专业教学大纲,M2M也是物联网主要领域,需要了解,建议直接用英文授课。
物联网软件、标准、与中间件技术
《中间件技术原理与应用》,清华大学出版社,《物联网:技术、应用、标准与商业模式》,电子工业出版社,等教材。
物联网产业发展的关键在于应用,软件是灵魂,中间件是产业化的基石,需要学习和了解,尤其是对毕业后有志于走向工业和企业界的学生。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)