设为首页 加入收藏 期刊导航 网站地图
  • 首页
  • 期刊
    • 数学与物理
    • 地球与环境
    • 信息通讯
    • 经济与管理
    • 生命科学
    • 工程技术
    • 医药卫生
    • 人文社科
    • 化学与材料
  • 会议
  • 合作
  • 新闻
  • 我们
  • 招聘
  • 千人智库
  • 我要投搞
  • 办刊

期刊菜单

  • ●领域
  • ●编委
  • ●投稿须知
  • ●最新文章
  • ●检索
  • ●投稿

文章导航

  • ●Abstract
  • ●Full-Text PDF
  • ●Full-Text HTML
  • ●Full-Text ePUB
  • ●Linked References
  • ●How to Cite this Article
Computer Science and Application 计算机科学与应用, 2013, 3, 313-319
http://dx.doi.org/10.12677/csa.2013.37055 Published Online October 2013 (http://www.hanspub.org/journal/csa.html)
Design and Implementation of Campus Client Based on
Android*
Hui Wa n g, Xiaoxia ng W u
Department of Electronic Engineering, Hubei University of Economics, Wuhan
Email: wanghui_one@126.com, 1398535242@qq.com
Received: Oct. 8th, 2013; revised: Oct. 23rd, 2013; accepted: Oct. 30th, 2013
Copyright © 2013 Hui Wang, Xiaoxiang Wu. This is an open access article distributed under the Creative Commons Attribution License, which per-
mits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Abstract: Currently the teachers and students can visit the news system, library system, educational administration
system and campus card system by username and password. These systems are generally distributed in different sub-
systems. This paper designs and implements the campus client system based on the Android operating system, which
integrates the various systems to facilitate teachers and students to access campus information. The system uses
HtmlParser.jar, SAXParser and JSONObject to parse html text format data. The system runs well under Android 2.3 and
above system.
Keywords: Android; Campus Client; JSON
基于 Android 的校园客户端的设计与实现*
王 挥,吴小祥
湖北经济学院,电子工程系,武汉
Email: wanghui_one@126.com, 1398535242@qq.com
收稿日期:2013 年10 月8日;修回日期:2013 年10 月23 日;录用日期:2013 年10 月30 日
摘 要:当前各高校都提供统一的账号和密码登陆学校的各种系统,包括学校新闻、图书馆系统、教务系统和
校园一卡通系统等。这些系统一般都分散在不同的子系统中。本文设计和实现了基于 Android 操作系统的校园
客户端系统,该系统集成上述各个系统,方便校园师生访问校园信息。本系统使用解析 html 文本格式数据的
HtmlParser.jar 工具包、解析类 SAXParser 和JSONObject。经测试系统在 Android 2. 3及以上版本运行良好。
关键词:Android;校园客户端;JSON
1. 引言
当前通迅设备特别是智能手机已经成为生活的
必须品,各种手机操作系统应运而生,其中 Google
的Android 操作系统因其开源、对开发商免费和良好
的产业运作策略等优势吸引了众的移动厂商加盟。
当前各高校都提供了各种各样的信息系统供校
园师生使用,这些系统主要包括学校新闻系统、图书
馆系统、教务系统和校园一卡通系统等,这些系统一
般都分散在不同的子系统中,由于分散,使用起来可
能不太方便。本文设计和实现了基于 Android 操作系
统的校园客户端系统,该系统集成上述功能,方便校
园师生访问校园信息。
统一的账号和密码登陆学校的各种系统,包括学
校新闻、图书馆系统、教务系统和校园一卡通系统等。
这些系统一般都分散在不同的子系统中。所以开发一
*本课题得到 2012年国家级大学生创新创业训练计划项目(No. 2012
11600011);湖北省教育厅项目(B2013032);湖北经 济学院青年基
金项目(XJ201116 和XJ201305)的资助。
Copyright © 2013 Hanspub 313
基于 Android 的校园客户端的设计与实现
个基于 Android 操作系统的校园客户端应用是有必要
的。本文设计和实现了基于 Android 操作系统的校园
客户端系统,该系统集成上述功能,方便校园师生访
问校园信息。本系统经测试系统在 A nd r oid 2.3及以上
版本运行良好。
2. Android平台介绍
Android 是一种基于 Linux 的自由及开放源代码
的操作系统,主要使用于移动设备,如智能手机和平
板电脑,由Google 公司和开放手机联盟领导及开发。
Android 的系统架构和其操作系统一样,采用了
分层的架构。从架构图看,Android分为四个层,从
高层到低层分别是应用程序层、应用程序框架层、系
统运行库层和 Linux 内核层[1-4]。
Android平台优势:android 是一个开放的平台,
允许任何移动终端厂商加入到 Android 联盟中来,而
且免费向开发人员提供[5]。
3. 校园客户端的设计与实现
本校园客户端以湖北经济学院校园网为基础而
开发,系统主要模块的设计和实现都是基于现有的系
统。
3.1. 校园客户端模块需求
本校园客户端主要包括如下图 1所示的四个模
块,即校园新闻、图书馆系统、教务系统和校园卡系
统。
3.1.1. 校园新闻
校园新闻作为学校师生和外界沟通的一个窗口,
集成在校园客户中是非常重要的。校园新闻模块包括
如图 2所示的八个子模块,每一个子模块对应于一个
方面的热点问题。
3.1.2. 图书馆系统
图书馆信息对于在校师生来说及为重要,将图书
馆系统的相关功能集成在校园客户端中,当学校师生
需要借阅书籍或是查阅资料时,就可以随时随地使用
智能手机获取相关信息。如下图 3是图书管系统的功
能模块图。
具体功能如下:
1) 读者登录:通过读者证号和读者密码,进入
Figure 1. Modules of the client
图1. 校园客户端模块
Figure 2. University news
图2. 学校新闻
Figure 3. Library system
图3. 图书馆系统
图书馆查询系统。
2) 借还查询:通过查询方式的下拉框选择,可以
得到借阅情况和归还情况的相关信息。
3) 预约查询:可以获取预约信息。若没有预约,
则显示“暂时没有内容”。
4) 我的账目:通过表格显示序号、日期、正题名、
科目以及金额。
5) 超期文献:可以了解目前所借书中是否有超期
书本以便及时归还。
6) 荐购结果:填写荐购单可以通过图书馆管理员
沟通,购买馆藏所需书籍。
7) 我的咨询:向系统提交相关咨询信息。
8) 我的书架:建立虚拟书架,并进行维护。
Copyright © 2013 Hanspub
314
基于 Android 的校园客户端的设计与实现
9) 喜欢类目:设置自己喜欢的类目,提交后可以
进行
:可查知馆藏的新书通报。
设置
的开
。
号、新
读者密码
信息接受
信息与学校师生息息相关,也
是学
必修和专业选修选课、选体育
课、
) 报名活动:包括报英语四六级等,从服务器获
取相
评价,从
服务
护:包括用户相关信息和密码的修改,
从服
学生
) 教学质量返馈:指学生信息员向学校返馈相关
信息
,从服务器获
取相
活资金,学生会经常的查
阅资
检索观察。
10) 我的新书
11) 利用统计:图书馆利用统计可以从自己
始日期到结束日期所借阅的书籍,有借还册数统
计、阅览时间统计以及文献借还历史。
12) 资料修改:修改读者的登录信息
13) 密码修改:填入读者证号、旧读者证
、确认新读者密码,提交后即完成密码修改。
14) 找回密码:输入读者证号,通过录入的 Email
读者密码,若没有录入Email 信息,则与图
书馆工作人员联系找回密码。
3.1.3. 教务管理系统
教务管理系统中的
校师生要经常使用到的,将其集成在校园客户端
中,可以给学校师生提供及大的方便。如下图 4是教
务系统的功能模块。
具体功能如下:
1) 网上选课:包括
重修或补修选课、公共选修选课,直接从服务器
获取相关数据,以多选方式给出,选完后提交给服务
器。
2
关数据,编辑相关资料提交给服务器
3) 教学质量评价:对代课老师做出相应
器获取相关数据,以多选方式给出,选完后提交
给服务器。
4) 信息维
务器获取相关数据,编辑相关资料提交给服务器
5) 信息查询:包括专业推荐课表、学生个人课表、
成绩、学生考试、等级考试、培养计划、教室、
学生选课情况查询,直接从服务器获取相关信息进行
显示
6
,编辑相关资料提交给服务器。
7) 公用信息:指教务处发出的公告
关信息直接显示。
3.1.4. 校园卡服务
校园卡关联着学生的生
金使用情况和向卡上转账,这些功能集成在校园
Figure 4. Teaching management system
户端中在给予学生方的同时也可以解决因学校
。
银行卡余额查询、校园卡余额
查询
:实现拾卡信息浏览、失卡信息
浏览
、验
证码
3.2. 校园客户端实现原理
校园客户端的主要原理 过访问现有的网站,
获取
工具包原理
,校园新闻系统的
网址
图4. 教务系统
客 便
硬件终端不足而造成排对臃肿现像。
校园卡系统功能模块:如图5所示
具体功能如下:
1) 转账业务:实现
、修改消费密码、校园卡挂失、网费缴纳、修改
查询密码、修改消费限额、校园卡解挂银行卡校园卡
转账等查询功能。
2) 辅助信息查询
、资料下载和通知等查询功能,此处主要是帮助
丢失校园卡的学生获得更多的信息找回失物。
3) 流水信息查询:通过输入帐(学)号、密码
,并选择持卡人用户类型,即可进入流水信息查
询界面,主要查询持卡人基本信息、持卡人统计、查
询当日流水、查询历史流水等信息。
是通
网站内容,然后提取关键信息,将这些信息显示
出来。所获取的网站内容可能是HTML 文件或 XML
文件,这些文件本质上都是存文本,故只需要将这些
文件的内容当做字符串进行信息提取,就可以获得所
需要的内容[6]。本文使用 htmlparser.jar 工具包、解析
类SAXParser 和JSONObject 来提取关键信息。以下
将通过湖北经济学院新闻系统和图书馆系统来说明
提取信息的原理。
3.2.1. Htmlparser.jar
工具包需要根据网址获取信息
为:http://news.hbue.edu.cn/index.php,通过该网
址使用 htmlparser.jar 提取信息的原理流程如下:
Copyright © 2013 Hanspub 315
基于 Android 的校园客户端的设计与实现
Copyright © 2013 Hanspub
316
到
一个
tring method)方
法设
连通
1) 通过给定的 url 地址生成一个 URL 对象; outputStream 的write 方法向服务器写请求参数数据;
2) 通过 URL 对象的 openConnection()方法得 5) 通过 con 的getInputStream()方法得到与服务
器连通的输入流对象inputStream ,这样就可以通过
inputStream 的read 方法获取从服务器那返回的数据。
HttpURLConnection 对象 con;
3) 用con 的setRequestMethod (S
置URL 的请求方法如:GET、POST 等,如果要
向服务器发送一些消息头属性,可以用 con 的
setRequestProperty (String key, String value)方法来设
置请性属性如:setRequestPro perty (“Refere r”, “”);
4) 通过 con 的getOutputStream()方法得到于服务
详细实现如下图 6所示。
但获取所需要的网站页面内容后,需要对这些页
面内容进行解析,以获取说需要的关键信息,如下是
对Html 网页的解析原理,如图 7所示。
该解析过程说明如下:
的输出流对象outputStream,这样就可以通过
1) 用htmlParser.jar工具包中的 Parser类的静态方
法creatParser (String html,String charset)方法创建一个
解析类对象 parser;
2) 用名字标签过滤器 TagNameFilter、属性标签
过滤器 HasAttributeFilter、逻辑标签过滤器如
AndFilter 等组合出一个标签过滤器对象如 andFilter;
3) 通过 extractAllNodesThatMatch(andFilter)方法
得到一个结点列表 nodeList,该列表中结点具有上面
名字标签过滤器和属性标签过滤器指定的标签名和
属性值;
Figure 5. Campus card ssytem
4) 然后通循环对结点列表 nodeList 进行迭代,
图5. 校园卡系统
url地址变量:path=http://news.hbue.edu.cn/index.php
new URL(path)生成一个URL对像url
url.openConnection()得到 一个HttpURLConnection对像con
con.setRequestMethod(“POST”)设置URL
请求方法如:GET、POST等
con.setRequestProperty(“Referer”,”http://
www.hbue.edu.cn”)设置向服务器发送的消息头属性值
con.getOutputStream()得到与服务器联通的输出
流对像out
out.write(…)向服务器写请求参数
con.getInputStream()得到与
服务器联通的输入流对像in
in.read(...)获取从服务
器那返回的数据
Figure 6. Workflow of getting data
图6. 数据获取流程
基于 Android 的校园客户端的设计与实现
Figure 7. Principle of parsing html
图7. html解析原理
的每个子结
ring()方法 获取
结点
出所有结点
的文
的信息后,需要在 Android 客户端中
显示
络图像,
本等。
解析的内容具有特定的格式,
解析原理过程如下:
获取其中点 parentNode;
5) 通过 parentNode.toPlainTextSt
中的文本信息,然后通过 getChildren()方法得到
其所有子结点的列表 nodeList;
6) 重复步骤 4)和5)的过程,直至取
本数据。
当获取特定
出来。通常有两种方法可以显示。一是根据先提
取关键内容,然后使用各种 Android 控件来显示。二
是使用 Android 系统类库中的显示网面数据的视图类
WebView 直接显示,该方法在显示数据前需做一些设
置:选用 WebView 对象的 getSettings()方法获取一个
Web Settings对象,然后调用该对象的相关方法设置
一些属性,典型的需要设置的属相如
setBlockNetworkImage设置是否显示网
setBuiltinZoomControls 设置是否支持缩放,
setJavaSciptEnabled 设置是否支持 Javascript 脚
该过程的流程如图 8所示。
3.2.2. JSON解析原理
JSON 解析要求所
Figure 8. Showing principle of university news
图8. 校园新闻模块显示原理
1) 准备好 JSON格式文本 json;
2) 建一个
Object 对
值对的形式存
在,
d客户端需要一个
添加一个
基于上述客户端原理,已经实现了校园客户端的
用构造方法 new JSONObject(json)创
JSON 象jsonObject;
3) jsonObject对象中的信息是以键
故调用 jsonObject.getString(键值)得到键所对应的
值。解析原理流程如图 9所示。
以图书馆系统为例来说明如何获取图书馆信息
并实现图书馆系统的客户端。因为进入该模块前要验
证用户名和密码信息,因此 Androi
登陆模块,其具体实现原理就是模访浏览器
行为:向服务器提交用户名和密码信息,然后通过服
务器返回的信息判断用户名和密码是否通过验证,没
有通过就继续验证,通过则进图书馆系统。图书管理
系统主要是查询和增删改查操作。查询模块的实现方
式是直接将需要查询的数据提交到学校的服务器,然
后接收从服务器那返回的数据,析解后进行合理的组
织,最后显示出来;增删改查的操作则和登录操作的
原理相同。该过程流程如图 10所示。
其他主要模块的实现过程和新闻系统,图书馆系
统的实现过程相同。
3.3. 校园客户端实现与功能展示
Copyright © 2013 Hanspub 317
基于 Android 的校园客户端的设计与实现
Figure 9. Principle of paring JSON
图9. JSON解析原理
Figure 10. Getting data after login
图10. 登陆验证后获取数据
功能。如下是部分功能的界面。
1) 教务管理系统登录界面
在提示信 可登录教务
理系统的界面。其中密码有明文和密文显示两种,
11 是登录界面。
界面
4 总结
该校园客户端面向在校师生,能够通过客户
查询和修改相关信息。本程序的功能基
校师生的相关需求,可以给做相关项目的人
息框中输入账号和密码,即
管
登录身份有部门、教室和学生。图
2) 学生教务系统的树形组件
在学生教务管理系统界面,由树形组件显示各功
能的分组管理,更易于查找必要信息。图 12 是教务
系统功能。
3) 学生个人课表
学生个人课表通过 HTML解析后获取信息,然后
在客户端显示出来。这里以图表的形式显示。如图 13
所示。
以上设计实现了基于 Android 平台的校园客户端
的应用,
端的综合平台
本满足在
Figure 11. Login window with ciphertext and plaintext
图11. 密文和明文登录
Figure 12. Menu of teaching management system with one level
and two levels
图12. 一级和二级教务系统功能
Figure 13. Course of student
图13. 学生个人课表
提供一些参考以增快其开发效率,但应用介面做得不
是很美观,而且在安全性方面考虑得不够多,程 的
健壮性还有待测 善,用户体验
虑不足,这些都 进和完善。
012.
11.
[3] G. S. Horstmann, et al. Java核心技术. 卷I: 基础知识[M]. 北
序
式,细节方面还有待完
考 需要后期来不断改
参考文献 (References)
[1] 李兴华. Android开发实战经典[M]. 北京: 清华出版社, 2
[2] 李刚. 疯狂 Android 讲义[M]. 北京: 机械工业出版社, 20
Copyright © 2013 Hanspub
318
基于 Android 的校园客户端的设计与实现
Copyright © 2013 Hanspub 319
]. 2011.
信与信息系统, 2011.
京: 机械工业出版社, 2008.
[4] 郭宏志. Android应用开发详解[M
[5] 李佐彬. Android开发入门与实战体验[M]. 北京: 机械工业出
版社, 2008.
[6] 刘敏. 移动终端的 Android 移植与应用程序设计[D]. 西安电
子科技大学通

版权所有:汉斯出版社 (Hans Publishers) Copyright © 2012 Hans Publishers Inc. All rights reserved.