一是移动互联网超越PC互联网,引领发展新潮流。有线互联网(又称PC互联网、桌面互联网、传统互联网)是互联网的早期形态,移动互联网(无线互联网)是互联网的未来。PC机只是互联网的终端之一,智能手机、平板电脑、电子阅读器(电纸书)已经成为重要终端,电视机、车载设备正在成为终端,冰箱、微波炉、抽油烟机、照相机,甚至眼镜、手表等穿戴之物,都可能成为泛终端。
二是移动互联网和传统行业融合,催生新的应用模式。在移动互联网、云计算、物联网等新技术的推动下,传统行业与互联网的融合正在呈现出新的特点,平台和模式都发生了改变。这一方面可以作为业务推广的一种手段,如食品、餐饮、娱乐、航空、汽车、金融、家电等传统行业的APP和企业推广平台,另一方面也重构了移动端的业务模式,如医疗、教育、旅游、交通、传媒等领域的业务改造。
三是不同终端的用户体验更受重视,助力移动业务普及扎根。2011年,主流的智能手机屏幕是35-43英寸,2012年发展到47-50英寸,而平板电脑却以mini型为时髦。但是,不同大小屏幕的移动终端,其用户体验是不一样的,适应小屏幕的智能手机的网页应该轻便、轻质化,它承载的广告也必需适应这一要求。而目前,大量互联网业务迁移到手机上,为适应平板电脑、智能手机及不同 *** 作系统,开发了不同的APP,HTML5的自适应较好地解决了阅读体验问题,但是,还远未实现轻便、轻质、人性化,缺乏良好的用户体验。
四是移动互联网商业模式多样化,细分市场继续发力。随着移动互联网发展进入快车道,网络、终端、用户等方面已经打好了坚实的基础,不盈利的情况已开始改变,移动互联网已融入主流生活与商业社会,货币化浪潮即将到来。移动游戏、移动广告、移动电子商务、移动视频等业务模式流量变现能力快速提升。
五是用户期盼跨平台互通互联,HTML5技术让人充满期待。目前形成的iOS、Android、WindowsPhone三大系统各自独立,相对封闭、割裂,应用服务开发者需要进行多个平台的适配开发,这种隔绝有违互联网互通互联之精神。不同品牌的智能手机,甚至不同品牌、类型的移动终端都能互联互通,是用户的期待,也是发展趋势。
六是大数据挖掘成蓝海,精准营销潜力凸显。随着移动带宽技术的迅速提升,更多的传感设备、移动终端随时随地地接入网络,加之云计算、物联网等技术的带动,中国移动互联网也逐渐步入“大数据”时代。目前的移动互联网领域,仍然是以位置的精准营销为主,但未来随着大数据相关技术的发展,人们对数据挖掘的不断深入,针对用户个性化定制的应用服务和营销方式将成为发展趋势,它将是移动互联网的另一片蓝海。
我们公司就是可以开发的,如果你们公司内部没有这样的技术,团队,可以考虑找软件公司开发,这样也省去了你们学习和犯错的时间,给有技术的软件公司开发相对来说,比你们自己开发的优势还是有很多的。
移动便携设备,手机、平板是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就要自己写,自己会部署服务器端了,这四个值也就一幕了然了。
开发之间的重要问题
这些问题对物联网应用开发人员很重要。哪一种才是最好的方法,来构建一个“物联网应用”,它可以做很多事情,从远程控制家庭应用到对引擎改动机制造商发送通知,而这一需要维护服务的引擎有个能在世界任何一个地方?开发人员要具备怎样的技能?要从哪里先开始?
物联网应用开发的始占在于它本身。这些边缘设备通常没有屏幕(尽管并非总是如此)、处理器功耗低,搭载的是某种嵌入式 *** 作系统,使用一个或多个通信协议进行交流(通常是无线)。这些东西可能直接与网络、相邻事物和网络网关相连,一般外形就是一个盒子带一些闪闪发光的灯。
系统的下一层即集成层是软件和基础设施,运行在企业数据中心或云中,来从各种事物中接收和管理数据流。运行在集成层的软件通常也负责管理这些事物,必要时更新固件。
接下来就分析层,用于管理并处理数据。最后,还有一个终端用户层,这一层上应用程序用于用户之间交流。这些可能是企业应用、可能是网络应用,也可能是移动应用。
如果你正在想办法构建物联网应用,最后两层将会是你接触最多的。作为开发人员,你可能没有工具处理这些边缘设备或网关,或者没有适应集成层的能力。
这也就是为什么说构建应用程序要从已经就绪的“物联网平台”开始是有道理的了。这些平台通常包含集成层,这一层承载着以时间为序列输入的数据,以及分析层、自动精简配置,激活和管理功能,实时消息总线和建立其上的平台和应用之间的通信API。
现在市场上有许多公司都在提供这类平台。这有Xively、Mnubo、BugLabs和ThingWorx,他们都有能力与不同的制造商产生的大量“事物”进行沟通。
还有些比较有名的公司,如微软的智能系统服务,和企业软件厂商如SAP的物联网解决方案,这些厂商都在他们的产品中增加了物联网功能。
物联网工程师需要学习一下几个方面:
1、物联网产业与技术导论:全面了解物联网之RFID、M2M、传感网、两化融合等技术与应用。
2、C语言程序设计:物联网涉及底层编程,C语言为必修课,同时需要了解OSGi,OPC,Silverlight等技术标准。
3、单片机原理及应用:物联网的底层单片机及其相关应用技术,包括控制、多媒体等。
4、Java程序设计:物联网应用层,服务器端集成技术,开放Java培训技术也是必修课,同时需要了解Eclipse,SWT,Flash,HTML5等技术使用。
5、物联网工程概论:全面了解物联网基本知识、技术体系以及相关理论,对物联网的关键技术,如EPC和RFID技术、传感器技术、无线传感器网络技术、M2M技术等。同时应对与物联网密切相关的云计算、智能技术、安全技术也进行论述。
6、无线传感网络概论:学习各种无线RF通讯技术与标准,Zigbee,蓝牙,WiFi,GPRS,CDMA,3G,4G,5G等等。
7、TCP/IP网络与协议:TCP/IP以及OSI网络分层协议标准是所有有线和无线网络协议的基础,Socket编程技术也是基础技能。
8、嵌入式系统技术:嵌入式系统是物联网感知层和通讯层重要技术。
9、传感器技术概论:物联网专业学生需要对传感器技术与发展,尤其是在应用中如何选用有所了解,但不一定需要了解传感器的设计与生产,对相关的材料科学,生物技术等有深入了解。
10、RFID技术概论:RFID作为物联网主要技术之一,需要了解。
11、工业信息化及现场总线技术:工业信息化也是物联网主要应用领域,需要了解。
物联网软件、标准、与中间件技术:物联网产业发展的关键在于应用,软件是灵魂,中间件是产业化的基石,需要学习和了解。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)