基于Android的校园卡查询系统

(整期优先)网络出版时间:2014-07-17
/ 2

基于Android的校园卡查询系统

余彦达

余彦达YUYan-da

(玉溪师范学院,玉溪653100)

(YuxiNormalUniversity,Yuxi653100,China)

摘要:目前,各个高校已经实现“校园一卡通”,但是圈存受到地点和时间限制;本文设计基于Android操作系统的校园卡客服端;实现在校园内通过手机随时随地圈存水费、网费的功能;经测试系统在Android4.0及以上版本运行良好。

Abstract:Atpresent,theone-cardsystemincampushasbeenappliedineverycollegesanduniversities.However,itislimitedbytimeandplace.Talkedaboutinthethesis,thedesignation,forthecampusclient-sideinAndroidmanipulativesystem,hasachievedthesefunctionsthatpayingwaterratesandinternetchargeincampusnomatterwhereyouareorwhen.Aftertesting,thesoftwareinAndroid4.0oraboverunswell.

关键词:Andriod;服务器;UI;JSPKeywords:Android;Server;UI;JSP

中图分类号:TP311文献标识码:A文章编号:1006-4311(2014)20-0201-02

0引言

现有的校园网站已经实现个人消费情况查询。通过网站可以查询消费的时间、地点,但不能够实现在线网页圈存;随着信息化时代的发展,Android手机基本实现人手一机。如果能够通过手机实现就地圈存,摆脱时域和地域的限制,将能够真正的做到“一卡在手,走遍校园”。本系统针对校园无线网的全面覆盖,通过手机客户端实现快速高效的校园卡圈存操作。

1软件架构

该校园卡查询系统是一种基于C/S模式模型的JavaEE项目软件,所有数据处理全部交给局域网服务器进行。在实现客服端功能的过程中,凭借FilterDisptcher的功能,实现客服端对tomcat作出Request以及保障tomcat同DBMS所作出的Request的数据安全,如图1所示。

2服务器配置与搭建

在Android平台下访问SQLite数据库方法比较简单,可以使用openOrCreateDatabase函数打开数据库,使用该函数返回对象函数执行[1]。但在实现过程中,通过tomcat所建立的服务器,对现有的数据库(SQLServer),进行查询、修改等操作。

通过JSP可以在客服端中清楚观察数据是否加载成功。当向其发出第一次请求,JSP容器将页面转换成一个实现类,包括javax.servlet.jsp.JspPage接口或者其子接口javax.servlet.jsp.HttpjspPage的Java类。如果转换成功,Servlet、JSP容器将会编译Servlet类,并且客服端显示数据;如果转换失败,错误消息也将自动发送到客服端[2、3]。在搭建服务器时,需要在主机上安装tomcat。还需要在主机上配置所需要的运行环境。例如,设置JAVA_HOME变量。

3客服端功能设计客户端需要实现的功能:查询个人校园内消费情况,当前校园卡、网费、水费余额,以及水费网费圈存。设计原理如图3,FuctionActivity类实现通过这一个java类实现对服务器请求;服务器通过JSP得到重要数据,最后实现XML对数据库的数据查询和更改。

3.1UI设计通过对大量软件的UI观察,自行设计了简单界面。界面如图4所示,各个界面都显示个人基本信息,以便核对个人信息。

消费查询界面中采用FrameLayout布局,该布局不强调各个视图的具体位置,简单的将每一个视图从上到下分配空间。在时间显示栏中,需实现日期选择。具体实现如下:riqisousuo.setOnClickListener(newOnClickListener(){publicvoidonClick(Viewv){Intentintent=newIntent();intent.setClass(FunctionActivity.this,DateChooseActivity.class);FunctionActivity.this.startActivity(intent);}}消费数据呈列表化显示,是通过将请求到的数据拆分并放入指定位置。在服务器访问数据库时,通过特殊的字符(例如@)将每一条记录进行合并,再通过这个字符拆分即可。

FunctionActivity.student=str.split("@")各个界面功能切换按钮,采用LinearLayout布局,该布局能够将子视图按照所需要方式进行布局,可以是垂直或者水平方向;并且可以合理的将每一个子视图控制在具体的空间里面[4-6]。

本客服端是通过Android2.5虚拟机模拟,目前Android版本已到4.2,需要增加运行代码才能正常编译。需要加入StrictMode.setThreadPolicy(),StrictMode.setVmPolicy()这两个方法。

3.2按钮功能客服端的功能通过每一个按钮实现,不同的按钮就会有不同的触发。在按钮设计过程中,需体现出Butoon与Textview的区别。让用户可以准确地使用该客服端。

在设计过程中,选择一个xml文件展示四个界面,当点击各个按钮时,将会出现对应的界面,具体实现如下:consumelayout.setVisibility(View.INVISIBLE);wangfeilayout.setVisibility(View.VISIBLE);shuifeilayout.setVisibility(View.INVISIBLE);aboutlayout.setVisibility(View.INVISIBLE);在客户端中四个按钮,实现方法相似,具体介绍“明细”按钮(mingxibuttom)。

在定义过程中,需要在.XML文件中分配该按钮的ID,便于管理和搭配其他按钮。当点击触发按钮,就会显示学生校园卡余额和当天消费情况;若选择日期,将会显示该日期的消费情况,具体包括:消费时间、消费金额、消费地点。

mingxibutton=(Button)findViewById(R.id.mingxibutton);mingxibutton.setOnClickListener(newOnClickListener(){publicvoidonClick(Viewv){/student[1]:学号,student[2]:姓名,student[4]:当前校园卡余额/nameAndNumber.setText("欢迎您"+student[2]+student[1]);yue.setText("校园卡当前余额"+student[4]);consumelayout.setVisibility(View.VISIBLE);mingxibutton.setBackgroundResource(drawable.mingxi2);aboutbutton.setBackgroundResource(drawable.about);}}

3.3提示功能任何系统需要处理特殊情况,本客服端针对不同的错误采用闪现提示,提示的时间为1s。例如:登录密码错误,是否确定确定选择日期、圈存金额,充值超额和充值面额不正确。

Toast.makeText(FunctionActivity.this,"密码错误”Toast.LENGTH_SHORT).show();

4总结

以上设计实现了基于Android的校园卡查询系统,能够通过客服端实现消费情况查询以及网费、水费圈存。本程序功能基本满足在校师生需求。希望能够通过本客服端帮助正在设计开发手机软件的朋友以增长其开发效率。但界面、用户体验、数据安全等方面不够完善,程序健壮性有待提高,细节有待完善,这些都需在后期不断改进。

参考文献:

[1]唐笑林,孙街亭,戴洁.基于Android手机的校园一卡通系统开发与研究[J].合肥学院学刊,2012.

[2]李刚.疯狂Android讲义[M].电子工业出版社,2013.

[3]BudiKurniawan.Servlet和JSP学习指南[M].机械工业出版社,2013.

[4]孙卫琴.Tomcat与JavaWeb开发技术详解[M].电子工业出版社,2009.

[5]JasonOstrander.AndroidUI基础教程[M].人民邮电出版社,2012.[6]Wei-MengLee.Android4编程入门经典-开发智能手机与平板电脑应用[M].清华大学出版社,2012.