基于android的移动数据终端程序设计_第1页
基于android的移动数据终端程序设计_第2页
基于android的移动数据终端程序设计_第3页
基于android的移动数据终端程序设计_第4页
基于android的移动数据终端程序设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课题:基于android的移动数据终端程序设计

学院:信息工程及自动化学院专业:自动化姓名:指导教师:

2013年6月基于android的移动数据终端程序设计

信息工程及自动化学院自动化专业1.研究背景2.系统设计3.环境搭建4.客户端与服务器的数据传递

5.功能模块实现6.系统测试7.结束语基于android的移动数据终端程序设计信息工程及自动化学院自动化专业研究背景:随着网络技术的发展,移动通信产业已经走向真正的移动信息时代,移动终端从简单的通话工具变为综合信息处理平台。Android操作系统是一个真正意义上的开源和免费的移动终端操作系统,市场占有率高。鉴于其自身的优点及平台技术的不断成熟,其在工业生产领域中也将得到广泛应用。在钢铁生产的过程中,钢材的质检数据采集监测是钢厂对钢材进行质量管理的一个重要控制环节,该环节运行的好坏,直接影响到钢材的生产效率、生产成本。目前这一环节中大部分工作和数据通过计算机进行信息处理与管理,但部分重要工作如表面质量检测需要质检人员在现场查看表面质量,利用纸质表格记录相关数据,再回到机房输入管理系统和查看成分数据,十分不方便。毕业设计提出的方案开发基于Android的质量判定数据终端系统,可以在移动设备上查看钢材的成份,进行表面质量判定数据上传,改变钢铁生产现有的质检方式,方便高效。

基于android的移动数据终端程序设计信息工程及自动化学院自动化专业系统设计:质量判定系统从总体上可以划分为移动终端和服务器端两大功能模块服务器端主要是数据管理模块,通过WebService接口为移动终端提供数据信息。移动终端主要划分为三大功能模块,分别是用户功能模块、主功能模块、数据传输功能模块。用户功能主要包括各部门对应密码的设定,保证信息的安全性;主功能模块包括分炉信息处理、表面缺陷处理、表面质量判定模块,是进行钢坯数据处理与质量判定的主要模块;传输模块主要包括数据存储和数据回传两部分,主要是为了完成服务器端与智能终端的数据交互基于android的移动数据终端程序设计信息工程及自动化学院自动化专业环境搭建:1.eclipse

2.javaJDK

3.更新AndroidSDK包

4.添加AVD5.Android平台搭建成功基于android的移动数据终端程序设计信息工程及自动化学院自动化专业客户端与服务器的数据传递:1.用Ksoap2来调用Webservice:WebService是一种基于SOAP协议的远程调用标准。通过WebService可以将不同操作系统平台,不同语言、不同技术整合到一起。WebService部署在Web服务器之上,是由Web服务器来管理的,它是实现一种异构程序之间方法调用的机制,是远程调用及分布式系统实现的重要手段。WebService通过一种XML格式的特殊文件来描述参数、方法、调用及返回值,这种XML格式的文件称为WSDL,全称为“WebServiceDescriptionLanguage”,是一种Web服务的描述语言,描述服务器端口的访问方式及所使用协议的具体细节,用于辅助服务器和客户端代码及配置信息的生成。因为Android平台目前还没有提供WebService客户端的开发类库,所以要引入第三方客户端的开发类库——SOAP(SimpleObjectAccessProtocol),即简单对象访问协议。这是分布式网络环境下的用于信息交换的通信协议,在这个协议下,软件组件和应用程序可以通过Web协议进行通信。基于android的移动数据终端程序设计信息工程及自动化学院自动化专业2.android终端与服务器数据交互的实现数据的获取和上传都是通过webservice的接口函数来实现的:(1)指定WebService的命名空间和调用的方法名,代码如下:

SoapObjectrequest=newSoapObject("http://service","getName");SoapObject类的第1个参数表示WebService的命名空间,可以从WSDL文档中找到WebService的命名空间。第2个参数表示要调用的WebService方法名。(2)设置调用方法的参数值,这一步是可选的,如果方法没有参数,可以省略这一步。设置方法的参数值的代码如下:

request.addProperty("param1","value1"); request.addProperty("param2","value2");要注意的是,addProperty方法的第1个参数虽然表示调用方法的参数名,但该参数值并不一定与服务端的WebService类中的方法参数名一致,只要设置参数的顺序一致即可。(3)生成调用WebService方法的SOAP请求信息。该信息由SoapSerializationEnvelope对象描述,代码如下:

SoapSerializationEnvelopeenvelope=newSoapSerializationEnvelope(SoapEnvelope.VER11); envelope.bodyOut=request;

创建SoapSerializationEnvelope对象时需要通过SoapSerializationEnvelope类的构造方法设置SOAP协议的版本号。该版本号需要根据服务端WebService的版本号设置。在创建SoapSerializationEnvelope对象后,不要忘了设置SoapSerializationEnvelope类的bodyOut属性,该属性的值就是在第1步创建的SoapObject对象。基于android的移动数据终端程序设计信息工程及自动化学院自动化专业(4)创建HttpTransportSE对象。通过HttpTransportSE类的构造方法可以指定WebService的WSDL文档的URL,代码如下:

HttpTransportht=newHttpTransportSE("56:8080/axis2/services/SearchProductService?wsdl");(5)使用call方法调用WebService方法,代码如下:

ht.call(null,envelope);call方法的第1个参数一般为null,第2个参数就是在第3步创建的SoapSerializationEnvelope对象。(6)使用getResponse方法获得WebService方法的返回结果,代码如下:

SoapObjectsoapObject=(SoapObject)envelope.getResponse();3.解析返回的XML数据从服务器返回的数据,不能直接被客户端引用,需要解析返回的结果,并以字符串形式返回数据。下面以部门信息解析为例:基于android的移动数据终端程序设计信息工程及自动化学院自动化专业privatestaticList<String>parse(Stringstr){ Stringtemp; List<String>list=newArrayList<String>();

if(str!=null&&str.length()>0){ temp=str;

intendindex=temp.indexOf(";");

intindex=temp.indexOf(";");

intbeginindex=41;//解析字符串开始的位置

do{ list.add(str.substring(beginindex,endindex)); beginindex=endindex+1; temp=str.substring(beginindex,str.length()-1); index=temp.indexOf(";"); endindex=beginindex+index; }while(endindex!=str.lastIndexOf(";")); }

returnlist;}基于android的移动数据终端程序设计信息工程及自动化学院自动化专业功能模块的实现:1.登录界面登录界面是主要作用是核实用户的身份信息,是系统运行时与用户交互的第一个界面。由于客户端与服务器端完成数据交互,则部门和用户就能提取出来,在相应的选择框中选择要登录的用户,输入密码后点击登录,验证用户信息。这里主要用到Android中的下拉菜单组件——Spinner组件,这个组件的选项是从与它相关联的ArrayAdapter(适配器)中获取的,在使用的过程中,每次只能选择下拉菜单中的一项。在登录部分用到两个Spinner组件,分别放置部门列表和用户列。基于android的移动数据终端程序设计信息工程及自动化学院自动化专业2.系统主功能的界面系统通过用户信息的验证,则系统进入主要功能界面,登录后选择所需应用功能,进入所需的子菜单功能。设置外层的窗体格式为LinearLayout,并在内层LinearLayout中放置四个TextView分别设置为分炉信息、表面质检、表面缺陷和板坯数据,另外放置一个Button设置为注销。基于android的移动数据终端程序设计信息工程及自动化学院自动化专业3.分炉信息功能界面在系统的主要功能界面中选择分炉信息功能,便可以进入分炉操作功能的界面。在布局文件中使用了7个TextView控件,主要设置炉号、冶炼号、连浇号、规格、实际定尺、物料号及操作信息,4个Spinner控件,分别表示送检员、判定操作员、计划钢号及计划轧制规格,3个Button控件分别表示重置、提交和返回。在这个类中,使用getString(标记,数据)方法获取form.java类传送过来的数据。用户通过这个界面进行钢坯信息的记录,并将这些信息存入数据库。publicclassfurnaceextendsActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);//加载布局文件furnace.xmlsetContentView(R.layout.furnace);//获得Bundle对象,即从Intent中传递过来的数据

Intentintent=getIntent();Bundleb=intent.getExtras();//获取key为usrname、passwordstr的数据userstring=b.getString("usrname");passwordstring=b.getString("passwordstr");}}基于android的移动数据终端程序设计信息工程及自动化学院自动化专业4.表面质检功能界面在系统的主要功能界面中选择表面质检功能,进入表面质量判定功能的界面。布局方法与之前几个界面类似,要注意的是炉号信息的获取与更新。StringSOAP_ACTION="5/UploadJudgementResultByMobile";SoapObjectrequest=newSoapObject(nameSpace,methodName);SoapSerializationEnvelopeenvelope=newSoapSerializationEnvelope(SoapEnvelope.VER11); envelope.dotNet=true; envelope.bodyOut=request; (newMarshalBase64()).register(envelope); HttpTransportSEht=newHttpTransportSE(url); envelope.setOutputSoapObject(request); ht.debug=true;

try{ ht.call(SOAP_ACTION,envelope);

if(envelope.getResponse()!=null){ System.out.println(envelope.bodyIn.toString()); temp=envelope.bodyIn.toString(); uploadresult=temp.substring(temp.indexOf("UploadJudgementResultByMobileResult")+36,temp.length()-3);

returnuploadresult; } }catch(IOExceptione){ e.printStackTrace(); }

returnuploadresult;}基于android的移动数据终端程序设计信息工程及自动化学院自动化专业5.表面缺陷功能界面界面在应用程序中对应的布局文件和表面质检功能极为相似,同样是窗体格式LinearLayout和TableLayout内嵌于LinearLayout,最终得到的功能界面截图如图所示。在这里将钢坯的表面缺陷归为五类,即脱方、短尺、弯扭、裂纹和其它类,以下拉菜单的方式显示在功能界面中,方便工作人员记录板柸的表面缺陷。基于android的移动数据终端程序设计信息工程及自动化学院自动化专业6.板坯数据功能界面在主功能界面中点击板坯数据便可以进入板坯数据功能界面,这个界面中以同样采用LinearLayout格式的布局,以2个Button控件表示刷新和退出,刷新是显示分炉操作中刚产生的钢坯信息,2个TextView表示浇铸日期和炉号,以对应ListView中所显示的板坯数据。在这个功能界面中将显示一炉号所出的钢坯的具体信息,如牌号规格,及化学成分等。在类文件中首先要分析数据的详细信息,再对这些数据信息进行判定,看其是否合格,并将不合格的信息用红色显示出来。

判定是否合格的主要代码:

public

staticStringjudge(Stringelementstr,Stringstr){ Stringmaxstr,minstr; Floatmax,min; maxstr=elementstr.substring(elementstr.indexOf("<数据上限>")+6,elementstr.indexOf("</数据上限>")); minstr=elementstr.substring(elementstr.indexOf("<数据下限>")+6,elementstr.indexOf("</数据下限>")); max=Float.parseFloat(maxstr); min=Float.parseFloat(minstr);

if(Float.parseFloat(str)>max)return"1";

if(Float.parseFloat(str)<min)return"1";

else

return"-1";}基于an找dr榴oi鹊d的移季动数杏据终塌端程酒序设雨计信息涨工程冶及自京动化勇学院谁自动智化专甜业6.系统虹测试本文窝介绍爱的钢恐铁质奸量判仿定系策统终级端程锡序是宜在计狮算机教上开受发完牌成的狸,测之试主蝴要是宪在An毙dr途oi突d模拟昆器AV每D上进阳行测兔试,功能映测试总:输入辰了两寻个具溜体的博数据屯进行诱测试和,得援到的众部分炒结果汉如图慎所示撒:本文表介绍衔的钢批铁质易量判娃定系林统终唉端程妨序是芒在计植算机救上开学发完扯成的粘,测匆试主北要是副在An谨dr畏oi川d模拟昏器AV毕D上进狸行测皱试,功能艰测试轧:本文巴介绍斯的钢敏铁质乳量判歼定系求统终跟端程暂序是铲在计钓算机牺上开探发完高成的劫,测谜试主漆要是歪在An挑dr午oi厉d模拟压器AV劫D上进辰行测尼试,功能国测试正:本文陷介绍胞的钢初铁质幕量判炊定系匹统终全端程仅序是显在计拔算机妈上开异发完胳成的在,测辜试主肤要是谷在An登dr惭oi婶d模拟冠器AV捡D上进叠行测阿试,功能波测试投:对系非统的照各个崇功能附项进栏行测夏试,响看其渴能否慨完成阶功能军需求剩。主蜓要是日对功夏能的背正确丸性和谣完整倚性进敬行测谦试。本文哑介绍宪的钢合铁质洞量判泼定系姿统终蔽端程勉序是竖在计者算机挑上开调发完露成的扯,测富试主粪要是淹在An津dr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论