【Android论文栏目提醒】:网学会员,鉴于大家对Android论文十分关注,论文会员在此为大家搜集整理了“基于Android平台的Web服务技术研究 - 企业软件开发”一文,供大家参考学习!
Androi平台是Google于2007年1月推出的一种智能手机平台由操作系统、中间件、用户界面、应用软件组成全面整合的移动“软件栈”。
诚然提到nroi就不得不说开放手机联盟OpenHansetlliance它是一个由33家手机制造商软件商和电信业组成的推广nroi的联合会。
nroi是一个开放自由的移动终端系统nroi平台的开放性也保证了该平台不存在任何阻碍移动产业创新的专有权障碍。
随着国内3进入正式的应用阶段采用nroi系统的智能手机层出不穷。
另一方面WebServices已经逐渐成为Internet上一个重要组件ebServices天生的优点使它完全适合于为无线设备提供服务。
ebServices和移动设备的结合将会推动移动应用的发展。
为此本文就将讨论在nroi平台上如何访问ebServices的相关技术实现问题。
1
Android平台nroi平台的架构从下到上可分为五个部分Linux内核库nroi运行时环境应用程序框架应用程序。
Linux内核核心服务包括硬件驱动程序进程和内存管理安全网络和电源管理都由一个Linux26内核处理。
内核还在硬件和软件栈的其他部分之间提供了一层抽象。
2库运行在内核之上nroi包含了各种CC核心库例如libc和以及用来回放音频和视频媒体的媒体库提供管理显示的外观管理器包含2D和3D的G和OpenG的图形库本地数据库支持的Qite集成了eb浏览器和Internet安全的和ebKit。
3nroi运行时nroi运行时包含了核心库和Dalvik虚拟机因此它是面向应用程序提供动力的引擎它和库一起形成了应用程序框架的基础。
nroi核心库提供了Java核心库以及nroi特定库可用的大部分功能。
Dalvik是一个基于寄存器的虚拟机它已经被优化从而保证一个设备可用高效地同步运行多个实例。
它以inux内核进行线程和底层内存管理。
4应用程序框架应用程序框架提供了用来创建nroi应用程序的类。
它还对硬件访问和对用户界面及应用程序资源的管理提供了一般抽象。
5应用层所有的应用程序包括本地的和第三方的都使用相同的库来构建与应用层之上。
应用层运行在Anroi运行时之内并且是调用了应用程序框架中可用的类和服务。
2在
Android平台上访问WebServicesebervices是一种基于OAP协议的以实现远程调用的分布式计算方式。
利用ebervices可以将不同操作系统平台不同语言不同技术开发的应用整合到一起具有非常广阔的应用前景。
但是在nroiD中并没有提供调用ebervices的库。
因此为了实现在nroi平台上访问ebervices的功能需要借助第三方类库来实现。
nroi平台上常用的用来访问ebervices的软件包是ksoap2anroi。
ksoap2aroi是一个开源项目为n-roi平台提供给了一个轻量级的而且高效的OP库。
利用ksoap2anroi在nroi平台上调用eber-vices的步骤如下设定ebervices的命名空间和调用的方法名称关键的代码如下oapObjectreqnewoapObjectnamepacemethoName其中namepace参数表示的是要调用的ebervices的命名空间的一个tring类型变量该参数开源从eber-vices的D文档中获得methoName参数表示要调用的ebervices的方法名称的一个tring类型变量。
2设定方法的参数值可选的如果调用方法无参数就可省略reqaProperty“param”“value”3生成调用方法的OP请求信息。
该OP请求信息利用oaperializationEnvelope对象描述oaperializationEnvelopessEvelopenewoaperializationEnvelopeoapEnvelopeVERssEvelopeboyOutreqoaperializationEnvelope对象的创建需要通过oaperializationEnvelope类的构造方法设置OP协议的版本号。
OP协议的版本号是根据ebervioces的版本号决定的。
另外创建oaperializationEnvelope对象时需要设置基于nroi平台的eb服务技术研究闵现畅黄理灿浙江理工大学信息电子学院浙江杭州3008TechnologyResearchofnroibaseebervices摘要介绍了nroi平台的架构和eb服务探讨在nroi平台上的应用程序如何使用ksoap2anroi类库访问eb服务最后使用一个简单的实例实现用ksoap2anroi在nroi平台上访问eb服务。
关键词nroieb服务ksoap2anroiAbstractThispaperintroucesthearchitectureofnroiplatformanebervicesExplorehowtouseksoap2anroili-brarytoaccessebervicesonnroiplatformnfinallyrealizesasimpleexamplewithksoap2anroionthen-roiplatformtoaccessebervicesKeywords:nroiebervicesksoap2anroi基于nroi平台的eb服务技术研究92《工业控制计算机》201年第24卷第4期SoapSerializationEnvelope类的bodyOut属性属性值为第一步创建的SoapObject对象。
4创建HttpTransportSE对象。
利用HttpTransportSE类的构造方法设置WebServices的WSDL的URL代码如下HttpTransportSEtransnewHttpTransportSEURL5使用call方法调用WebServices代码如下transcallnullssEvelope6使用getResponse方法获得WebServices的返回结果代码如下SoapObjectsoapResultSoapObjectssEvelopegetResponse3访问WebServices的实例我们现在将用简单的例子来实现在
Android平台利用ksoap2adroid实现简单的WebServices访问协议。
3服务器端程序我们发布一个简单的Web服务其功能是根据用户的输入查询数书目的相关信息。
这个Web服务使用的服务器是A-pacheTomcat705。
实现类的源代码如下packagecomwsimportjavautilHashMapimportjavautilMappublicclassSearchBookService邀privatestaticMapStringBookbooksnewHashMapStringBookstatic邀BookbooknewBookbooknewBookbooksetName〃SQL学习指南〃booksetEditor〃AlanBeaulieu著张伟超林青松译〃booksetPrice4500booksput〃sql〃book妖publicBookgetBookStringbookName邀returnbooksgetbookName妖妖Book类的代码如下packageservicepublicclassBook邀privateStringnameprivateStringeditorprivatedoublepricepublicStringgetName邀returnname妖publicvoidsetNameStringname邀thisnamename妖publicStringgetEditor邀returneditor妖publicvoidsetEditorStringeditor邀thiseditoreditor妖publicdoublegetPrice邀returnprice妖publicvoidsetPricedoubleprice邀thispriceprice妖妖利用Eclipse的工具生成Web服务的部署文件并拷贝到Tomcat服务器webappsaxis2WEBINFservices目录下启动服务器进行发布。
其中生成的servicesxml文件如下servicename〃SeachBookService〃descriptionPleaseTypeyourservicedescriptionheredescriptionmessageReceiversmessageReceivermep〃htt:wwww3org248wsdlinonly〃class〃orgapacheaxis2rpcreceiversRPCInOnlyMessageRecei-ver〃messageReceivermep〃htt:wwww3org248wsdlinout〃class〃orgapacheaxis2rpcreceiversRPCMessageReceiver〃messageReceiversparametername〃ServiceClass〃comwsSearchBookSer-viceparameterservice图1Web服务部属结果图部署成功后我们在浏览器中输入http:localhost:88axis2serviceslistServices可以看到在服务上所部属的服务。
我们可以在http:localhost:88axis2servicesSeach-BookService芽wsdl网页上看到Web服务的WSDL描述。
32
Android客户端下载ksoap2androidassembly252jarwithdepen-denciesjar包后引入到我们的工程文件中就可以使用ksoap2访问Web服务了。
客户端实现代码如下packagenetblogjavamobilewsclientimportorgksoap2SoapEnvelopeimportorgksoap2serializationSoapObjectimportorgksoap2serializationSoapSerializationEnvelopeimportorgksoap2transportHttpTransportSEimportandroidappActivityimportandroidosBundleimportandroidviewViewimportandroidviewViewOnClickListener93importandroiwigetButtonimportndroidwigetEditTextimportnroiwigetTextViewpublicclssMinextensAtivityimplementsOnClikListener邀pulivoionClikViewview邀EitTextetBookEditTextfindViewyIRietook-NmeTextViewtvResultTextViewfinViewyIRitvRe-sultWSDL文档的URL1022为Anroi平台对本地PC的loalhost的别名StringservieUrl〃http:122:88xis2servicesSechookService芽wsl〃定义调用Web服务的方法名称StringmethoNme〃getook〃创建SopObject对象SopObjectrequestnewSoapOjethttp:ser-vicemethodNme设置方法参数requestddProperty〃bookNme〃etProductNmeget-TexttoString创建SopSeriliztionEnvelope对象制定Web服务的版本SopSeriliztionEnvelopeenvelopenewSopSeriliztionEnvelopeSopEnvelopeVER设置bodyOut属性envelopebodyOutrequest创建HttpTrnsportSE对象HttpTrnsportSEhtnewHttpTrnsportSEser-viceUrltryhtcllnullenvelopeifenvelopegetResponse选null邀SopObjectsopObjectSopObjectenvelopegetResponseStringresult〃书名〃sopObjetgetProperty〃nme〃〃n〃result〃作者〃sopObjetgetProper-ty〃eitor〃〃n〃result〃价格〃sopObjetgetProper-ty〃prie〃tvResultsetTextresult妖else邀tvResultsetText〃没有这本书〃妖妖thExeptione邀妖妖OverriepulivoionCreteunlesveInstneStte邀superonCretesveInstneSttesetContentViewRlyoutminuttontnSerhuttonfinViewyIRitnSerhtnSerhsetOnClikListenerthis妖妖33测试客户端在Anroi模拟器上运行客户程序调用We服务后的结果如图2所示。
4结束语在Anroi平台上我们可以利用ksoap2anroi类库实现对We服务的访问。
实现过程简单、直接这对在Anroi平台上开发更多实用的应用程序提供了很大的方便也能推动We服务技术在Anroi平台上的发展。
参考文献1马越Anroi的架构与应用D北京中国地质大学282汪永松Anroi平台开发之旅M北京机械工业出版社21163龙毅马永强基于J2ME平台研究WeServies的移动商务应用J成都信息工程学院学报20062133643694MichelPPpzoglouWeb服务原理和技术M龚玲张云涛译北京机械工业出版社20101305RetoMeierAndroid高级编程M王鹏杰霍建同译北京清华大学出版社20106程耕国覃科用J2MEMIDP移动应用程序访问Web服务J武汉科技大学学报自然科学版20062918991收稿日期2011110图2运行结果基于
Android平台的Web服务技术研究继2010年推出基于IntelAtomN450的PC104嵌入式主板之后2011新年伊始研华科技发布旗下最新款Atom系列PC104嵌入式主板PCM3363。
PCM3363搭载了IntelAtomN455D525低功耗处理器整板最大功耗不超过10W以及13W板载1GDDR3内存支持24位LVDS以及VGA的显示信号输出千兆网口音频输出PCI04总线扩展支持CF工作温度4085℃。
PCM3363延续了研华嵌入式主板的特点具备了高品质、低功耗、做工优良可靠性高等特点。
PCM3363除整板全部采用固态电容以及稳定性更优良的TG15材质PC板材以外还特别加入了紧固型接插件的设计。
整个主板的接插件内部都包含有紧固锁扣防止在使用过程中接插线材的脱落。
PCM3363首次加入了HALT实验。
HALT全称HighlyAccelerteLifeTest是一种它通过设置逐级递增的环境压力来加速暴露试验样品的缺陷和薄弱点的实验。
而后对暴露的缺陷和故障从设计、工艺和用料等诸方面进行分析和改进从而达到提升可靠性的目的。
HALT实验是一种能够帮助开发工程师在主板的设计阶段就发现产品的设计的缺陷与用料不良的问题从源头排除造成产品不稳定的隐患从本质上提升产品稳定性有效地降低后期维护的成本。
研华推出Atom系列PC14嵌入式主板94