移动便携设备,手机、平板是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就要自己写,自己会部署服务器端了,这四个值也就一幕了然了。
从严格意义上来讲,华为鸿蒙系统并非是为了手机而准备的一套 *** 作系统。鸿蒙系统是为了将来万物互联所开发的系统,可以支持手机、平板、电视等任何智能设备,手机仅仅是其中一项而已。正是基于这理念,华为鸿蒙系统对比苹果iOS系统具有先天的优势。
png
但华为鸿蒙系统是否超越苹果iOS系统,还需要看后天软件的生态建设情况。那么,我们就来一起看看华为鸿蒙与苹果iOS系统之间的差异吧!
两者最大的区别就是鸿蒙是开源的,不仅华为的手机和移动设备可以用,未来小米、OPPO、vivo如果愿意的话,也可以使用华为的鸿蒙系统。而苹果的iOS是闭源的,只有苹果的商品才可以使用,其它厂商想用也用不了。
由此,好处显而易见,开源系统更容易吸引到更多的开发者,一方面可以完善鸿蒙系统,另一方面也可以为鸿蒙系统带来更多的APP,帮助鸿蒙系统快速的建立起生态环境。谷歌的Android系统之所以能够和苹果iOS分庭抗礼,就是因为Android是开源系统,手机厂商、应用开发者都愿意去用它,从而使Android系统快速的成长起来。
虽然封闭式系统的安全性比较好,也利于管理应用的权限,但不利于自己生态的建立,也不利于快速的发展。
而且鸿蒙通过极简的微内核和特别定制的架构,可以做到低至1毫秒的超低时延。超低时延对精密加工的工业控制领域是非常关键的一个特性,目前在这个领域iOS和安卓同样都是无能无力的,这部分市场的拓展鸿蒙又领先了一步。只有差异化才能建立足够的竞争力,鸿蒙在这条道路上可谓煞费苦心。
png
全场景智慧化最具潜力的市场就是智能网联汽车和智能家居
目前,华为已经与美的、老板、九阳等家电企业合作,推出智能家电,鸿蒙OS便是这些智能家电的 *** 作心脏。而华为更是成立了汽车BU专注于帮助汽车企业造好车。因为华为瞄准的就是智能网联汽车的未来。
比亚迪·汉在智能化方面与华为合作,搭载了华为HiCar车机系统,这套系统可以实现连接人、车、家,在更多场景实现“万物互联”的功能。
鸿蒙通过微内核、分布式能力、超低时延、开源建立了与iOS的差异性,更快地进入了iOS甚至安卓无法涉及的物联网、工业精密控制等新兴领域,并且会受到未来广大小物联网厂商的欢迎,因此鸿蒙未来的发展空间和前景都值得期待。
观点仅供参考学习,不构成投资建议, *** 作风险自担!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)