基于Android平台的校园信息查询软件
摘 要:
摘 要:随着移动互联网的发展,各学校都开始将校园信息进行移动平台传播,本文对如何在现有信息平台的基础上进行Android平台软件的开发,既不影响现有信息平台的使用,又能快捷和方便的实现提出了一种方案。
关键词:
关键词:Android 校园信息查询 JSON
随着移动互联网技术的发展,,尤其是目前4G技术的推行,以及平板电脑、智能手机等移动设备在学生中广泛流行,建立移动的校园网系统已经是各个高校都在积极运作的工作,而除了移动网络的硬件建设,各类校园网应用APP也相应产生。在过去几年的高校信息化建设过程中,各个院校都已经建立了大量的网络信息平台,比如校园网站、教务系统、学生管理、服务信息查询系统等等。如何能对现有的系统进行移动客户端的开发,能在移动客户端上使用原有系统的部分功能,并将校园中多个分散的信息系统集中在一个移动客户端上完成应用,本文对此进行了一些研究和探索。
1 校园信息查询系统的结构设计
本系统主要针对的用户是学校老师和职工,故此在系统内容设计上主要采用了校内主要的几个教职工信息查询平台,比如工作查询、水电费查询等。系统的设计主要包括两个部分,服务器端和移动客户端,服务器端采用ASP.net技术建立网站,使用ADO.net链接每个系统的数据库,并建立查询操作等web页面。移动客户端负责完成链接无线网络,并根据查询条件,将访问的页面数据绑定到控件上,完成移动客户端的查询、输入等操作。系统的功能模块将学校现有的部分信息系统进行了整合,包含有以下几个模块。
2 Android客户端的系统实现
Android客户端使用eclipse+Android SDK开发平台,Java开发语言。用户使用本机号码和工资查询密码进行登录。登陆后将用户姓名和ID存入SharedPreferences类中,在今后的模块中使用。
2.1 用户使用数据流量模式访问局域网内数据库
很多信息查询平台,比如工资查询等仅供局域网用户使用,Android客户端只能在局域网环境下使用wifi连接,查询所需信息。为了让用户在数据流量状态下实现访问网数据,在设计时将服务器端程序放到了一台在局域网环境中对外发布的web服务器上,通过服务器端ADO.net链接各个平台的数据库,并将数据处理结果以页面的方式在互联网上发布。移动客户端通过读取网页页面内容来获取数据。同时,移动客户端通过访问web服务器内的页面地址来提交数据处理请求,如图所示。
2.2 用JSON字符串进行数据传递
在使用Android平台上的UI控件进行数据绑定时,本系统采用JSON字符串来进行数据的传递。JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串。
在具体实现中,由ASP.net通过访问数据库输出到页面,并将查询数据封装成JSON字符串格式输出,让网页内容以JSON字符串的形式显示出来。比如查询月工资页面输出一至三月份的工资总额字符串如下:
{“month”:1,“sum”:5000},{“month”:2,“sum”:4000},{“month”:3,“sum”:6000}
在Android端,将页面以文本的方式读入JSON字符串,返回一个字符串。
StringBuffersb=new StringBuffer();
String line=null;
BufferedReader buffer=null;
URL url=new URL(path);
HttpURLConnection conn=(HttpURLConnection)url.openConnection();
InputStreaminstr=conn.getInputStream();
buffer =new BufferedReader(new InputStreamReader(instr,"gb2312"));
while((line=buffer.readLine())!=null)
{
sb.append(line);
}
建立一个JSONArray对象,通过getJSONObject方法将字符串中每个数据值对取出,并实例化单个对象,将值对赋值将此页面上的内容读入到每个记录的不同属性上,将整个记录集返回一个List对象。
List<month> persons = new ArrayList<month>();
JSONArray array = new JSONArray(str);
int length = array.length();
for(int i=0;i<length;i++){< p="">
JSONObject object = array.getJSONObject(i);
Month p=new Month();
p.setMonth(object.getString("month"));
p.setSum(object.getString("sum"));
persons.add(p);
}
return persons;
将List对象映射到HashMap,并将HashMap绑定到UI控件
persons = parseJSON(webstr);
System.out.println(persons);
for (Month person : persons) {
HashMap map1 = new HashMap();
map1.put("month", person.getMonth());
map1.put("sum", "实发合计:"+person.getSum());
maps.add(map1);
SimpleAdapter adapter = new SimpleAdapter(this,maps,R.layout.monthlistitem,
new String[]{"month","sum"},
newint[]{R.id.monthitem,R.id.monthsum});
list.setAdapter(adapter);
相对于使用XML作为数据,JSON字符串更容易阅读,格式更容易控制。在进行Android客户端与web页面间传递数据时是一种非常优秀的数据格式。同时因为它是一个纯文本的字符串格式,可以通过各种网页程序来实现,为系统的扩充提供了非常好的基础。为系统的模块化建立提供条件。
3 结语
本文介绍了校园内已有的信息系统的Android客户端实现,为实现这种平台提供一种快捷的解决方案,采用局域网内web服务器对外发布信息查询网站,而后用JSON数据封装格式读取数据并绑定到UI界面控件上。只要能将现有信息系统,无论以何种语言,发布在web服务器中,就可以实现在移动客户端进行功能实现。
参考文献:
[1]王晓禹,石丽.基于 JSON 实现 Android 智能终端与 Web 服务器“面向对象”的信息交换[J].数字技术与应用,2012(4):224-225.
[2]权重民,彭昕昀.利用 JSON 实现 Android 高效、安全访 问远程数据库的一种方式[J].韶关学院学报,2011(12):16-20.
[3]谢文焘,董黎刚.基于 Android 的校园网移动客户端设计与实现[J].杭州电子科技大学学报,2012(5).
[4]初雅莉,陈昌稳,崔召金,等.基于 Android 的智慧校园手机系统[J].微型机与应用,2013,32(15).
[5]Android 市场份额首次超过 80%.[OL].
(收稿日期:2014-11-15)
本文编号:14776
本文链接:https://www.wllwen.com/jiaoyulunwen/wangluojiaoyulunwen/14776.html