首页 > 范文大全 > 正文

基于Android的校园通的设计与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于Android的校园通的设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:了解决传统Web服务不适应移动网络的问题,实现真正适用移动校园网的应用服务,该文对安卓操作系统的应用程序结构和开发环境进行了研究与分析,在此基础上根据安卓的开放应用程序接口设计实现了一款以北京信息科技大学为例的校园网移动客户端。

关键词:安卓;移动;多线程;解析器;轻型数据库

中图分类号:TP311.52

随着科技日新月异的进步,人们生活中或多的基础功能设施,已经渐渐地实现了电子化,信息化,智能化。生活中人们使用IC卡购买水电煤气,使用机顶盒接收电视数字信号。这些仅仅体现在老百姓的日常生活中。而与我们大学生息息相关的更是不胜枚举。我们在大学校园里生活学习,大学中的信息平台是大学师生在校学习生活工作的必要辅助工具。学生们需要查询学校信息,课表,成绩。老师们需要查询教学信息,班车时间以及教师使用情况。所以说信息平台与在校师生的学习生活工作息息相关。但是问题显而易见,我们查询学校信息,必须通过电脑上网才行,这样无形中增添了在校师生的不便。电脑不可能总是随身携带,我们要如何才能实现无论何时何地都能随时查阅信息。这要用到我们总是随身携带的生活必需品,手机。

众所周知,现在的中国大学校园中,所使用的信息频道是校园网。通过校园网这个信息平台,学校的任何通知以及实时信息,都可以有一个公共的平台去公布,在校失声可以更方便的实时通过校园网络进行查询,方便、简单、快捷,在现有的校园网应用都是基于PC端的,对软件的灵活性有了限制,同时也使用户受到了更多的制约,而本软件就是基于安卓平台手机客户端的校园服务软件。

本软件是基于师生在校生活的实际需求,在android平台下采用面向对象的分析与设计方法,实现校园通手机应用。采用MVC模式,整个开发采用Eclipse加Android SDK以及ADT来开发手机客户端,主要包括校园公告查询、校园新闻查询、班车信息查询等,界面比较人性化、操作方便,适合在校师生。测试后具有良好的用户体验,满足了在校用户的基本需求。

1 Android平台概述

Android平台是基于Linux平台而研发的。是由Google研究开发的一款移动平台操作系统。这个移动平台由用户UI、中间件以及应用软件组合而成。他最大的优点在于,它是完全开放性的移动开发平台,也是第一个完整的移动平台。它有十分优异的开放性以及可扩展性。

2 Android应用程序及开发环境

2.1 应用程序结构

基于安卓平台的成功手机应用程序必须要具备如下特点:应用程序最重要的一个特点就是程序的响应速度以及他的运行要连贯顺畅安全。应用程序清单讲述了组件与它们间的交互方式程序的基本结构如下:(1)Activity:用来处理前端事务的是活动提供的一组可视界面,一个活动包括一个用户界面,用于用户交互;(2)Service:服务是隐藏的工作人员,没有界面,基于后台处理,下载文件等等,其通过Activity组件与用户交互;(3)Broadcast Intent Receiver:广播接收器用于接收和响应系统广播的消息,广播接收器应用十分的广泛,人们用它来实现程序间信息的传递;(4)Content Provider:同时又一个同样不需要可视组件以及用户交互的角色――内容提供者。按照一定的约定实现程序间数据的提供,需要数据的组件按照约定方式从内容提供者那里获取数据。

2.2 开发环境

Android采用了分层次的架构体系,4层分别是Linux内核层,系统运行库层,应用程序框架层,应用程序层。

本文所使用的SDK版本为Android SDK Tools Rev 22,Android SDK Platform-tools Rev 19,开发环境为Eclipse(版本:Juno Release),在JDK1.7下进行编译运行。

3 软件设计

本软件主要分为3个大模块,3个大模块清晰明确,它们分别是信息显示模块、信息处理模块、信息存储模块。信息显示模块主要由若干个Activity和XML布局文件组成。这个模块主要是面对用户而设计的。信息处理模块由数据下载和数据解析两部分构成,采用多线程技术通过超文本传输协议连接服务单程序,获取数据是因为要考虑程序的流畅性以及可以给用户更好的体验。但是,如果在这里使用单线程,那就不会有多线程那么好的效果了,因为单线程软件在这方面表现不够成熟。在解析技术上,由于服务器端程序使用Json数据进行传输,所以采用Json解析技术。信息存储模块负责的任务是存储本地数据,由于Android平台对SQLite数据库进行了封装,因此开发人员不用过多考虑数据库连接以及语句的管理。因此,选用SQLite数据库来实现本地存储信息记录的功能。设置选项的保存我们则使用SharePreference,以轻量级键值对方式存储,以XML文件方式保存。

4 软件实现

针对北京信息科技大学网站,利用ViewPager设计了引导动画,动画效果可以使该款软件更简单、易用。选择校园动态,学院动态,教学信息,学生事务公告通知,就业与发展作为目标信息,可以通过一个界面进行跳转,通过多线程下载信息和Json解析得到需要的信息,来实现不同平台下的数据的传输,通过对象的形式传递给Activity,这个时候我们需要使用自定义ListView和ImageView等控件,这两个控件的作用是,作为信息的载体显示给用户,同时需要达到一个要求,那是给用户提供删除功能,给软件的运行节省了流量,实现这个功能使用SQLite数据库创建本地数据库存储信息以本地记录界面显示。

4.1 Android数据格式解析对象Json的实现

通过主Activity的Button按钮触发Json数据的解析,用很高兼容性的文本格式,Json是种常用的数据传输格式,Json是一种具有良好的可读的轻量级的数据交换格式,从而在不同平台间数据交换。具备C语言体系的行为。利用android sdk里面的JSONObject和JSONArray把集合或者普通数据,转换成json格式的字符串,Json可以将Java对象转成Json格式的字符串,Json使用起来比较轻便和简单。JSONObject和JSONArray解析json格式的字符串为集合或者一般数据可以将Json字符串转换成Java。比XML更轻量级,这样使网络数据传输与解析时非常方便。

4.2 SQLiteDateBase本地存储实现

在Android平台上,集成了一个嵌入式关系型数据库―SQLite,通过SQLite数据库给每个应用程序提供了轻量级的关系数据库,HTML5采用的也是“SQLite”这种文件型数据库,该数据库多集中在嵌入式设备上,SQLite最大的特点是你可以保存任何类型的数据到任何字段中,无论这列声明的数据类型是什么。熟悉IOS/Android开发的同学,应该对SQLite数据库比较熟悉。SQLite可以解析大部分标准SQL语句,应用程序可以利用已有的关系数据库引擎来安全高效地存储数据。另外,SQLite在解析CREATE TABLE语句时,会忽略CREATE TABLE语句中跟在字段名后面的数据类型信息,默认条件下,所有的数据库都是私有的,只能访问创建它们的应用程序。

4.3 多线程技术实现

多线程是指操作系统支持一个进程中执行多个线程的能力。程序界面通常是运行在一个主线程里,软件编写中,用户与程序交互所做的事情若在主线程里占用了太长的时间,应用程序就没有机会来处理输入事件,如此响应速度变慢。比如下载连接网络等耗费时间比较多的事情放到一个新的子线程中进行,整个软件含有完成不同功能的多个线程,如数据采集、数据处理、实时数据显示线程、图形曲线生成线程和用户界面线程。这样,多个线程的同时执行,既加快了系统的反映速度,又提高了执行效率。事情完成后,刷新用户界面的消息发送给主线程,更新用户界面。

使应用程序流畅运行,下载解析任务首先在主线程中创建一个Handler,多线程技术能够很好地解决多任务并行处理的问题,使得以往靠硬件电路(如单片机)完成的数据采集工作由软件编程取代,降低了研发成本;同时,数据采集和处理工作能够同步进行,具有很高的实时性,满足动态检重的要求。

5 软件测试

以北京信息科技大学为例,分别访问学院、新闻、地图、活动、视频、相册、课程、教室、校车、黄页10块,同时需要对本地存储测试,所需要达到的效果是,要保证软件的运行顺畅,无卡顿,无错误。证明软件运行正常,用户体验良好软件运行效果如图2-5所示,图2为软件主界面,总共提供10个图片按钮,3个设置按钮。图3为新闻界面,图4为课程界面,图5为空余教室界面。

6 结束语

本文主要研究了安卓平台下的应用程序,描述了它的基本结构,与此同时设计而且实现了即时的校园网移动客户端。主要用到了安卓操作系统的多线程以及谷歌的Gson开源解析类库,是这款软件客户端具有了十分优越的友好性以及流畅性,同时应用了轻量级数据库功能,使得该客户端能够很好地用于我们日常对校园信息的获取。另外一点,通过分析了系统的功能,对每个模块进行了很详细的说明以及规划,紧跟着在进行功能模块而划分。最终通过一点一滴的积累掌握MVC模式。最后的工作是,对前面工作中所划分的各个模块进行技术设计以及实现。然后进行了测试和改进完成后的系统。

本系统最终可以在安卓平台的手机上运行,同时可以进行校网新闻浏览、校园地图、查询课表、空教室、查询班车时间、查询学校黄页。

参考文献:

[1]靳岩,姚尚郎.GoogleAndroid开发入门与实战[M].北京:人民邮电出版社,2009:5-7.

[2]Lauren Darcey,Shane Conder.Android移动开发一本就够[M].北京:人民邮电出版社,2011(2):65-67.

[3]汪永松.Android平台开发之旅[M].北京:机械工业出版社,2010:41-53.

[4]闫伟,叶建栲.多线程技术在android手机开发中的应用[J].信息通信,2012(1):46-47.

[5]RetoMeier.王鹏杰,霍建同译.Android高级编程[M].北京:清华大学出版社,2010:175-177.

作者简介:殷岳(1991-),男,山东人,本科,研究方向:软件工程;刘洋(1991-),男,北京人,本科,研究方向:软件工程;刘爽(1992-),女,北京人,本科,研究方向:网络工程。

作者单位:北京信息科技大学,北京 100000

基金项目:北京信息科技大学2013年大学生科技创新计划项目经费资助。