首页 > 范文大全 > 正文

基于Android系统的移动课程表的设计与实现

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

摘 要:随着智能手机的快速普及,智能手机操作系统市场风生水起。为了方便在校学生可以随时随地查看课程,一种高效的办法就是将课程表做成应用程序拓展到用户的终端设备上,并且提供一些辅助功能。因此,智能手机应用软件及其需要的服务将有广阔的开发前景。

关键词:Android;智能手机平台;课程表;开源

中图分类号:TP393 文献标志码:A 文章编号:1673-8454(2014)06-0082-03

一、引言

在智能手机系统群雄纷争的时候,2008年Google推出了一款名为Android的开源智能手机操作系统,它采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改SDK包,系统开源性使其具有良好的拓展性。这款软件包括了操作系统、用户界面和应用程序,即智能手机工作所需要的全部软件。Android的最大特点是其开放性的体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图像组件、多媒体支持功能及其强大的浏览器。因此,对于软件从业人员来说,Android平台具有无限的吸引力。

本文在分析讨论Android手机软件开发技术原理的基础上,设计实现了能为用户提供更好的基于android平台的课程表。

二、系统需求分析

本应用是一款简单的Android课程表,首先课表支持查看课程的功能,因为数据比较小,采用了XML存储模式。其次,课表具有修改课程的功能,便于课程改变的应对,以及清空课表,为循环使用提供方便。在Title项设计了点击查询当日天气的功能。由此可以得到功能图1,程序流程图2。

三、系统功能模块概述

系统分为4个功能:

1.显示主界面

主界面显示各个按钮,以及动态显示本周的课程,主界面将Title隐藏了起来,取而代之的是自己设计的Title,将他们整合起来。另外,主界面要负责将XML数据调入内存中。

2.修改课程功能

修改课程功能,通过用户点击课程后,弹出一个Dilog,用户可以在Dilog中修改本课程的上课时间、代课老师、课程名称以及备注信息。然后将其重新回写到XML文件中,方便下次启动时,课程被永久修改。

3.清空课表功能

清空课表功能,当用户点击了清空课表,将清除所有科目的上课信息属性,课表将被置空。用户可以重新编辑课表。

4.天气查询功能

天气查询功能放置在Title项中,节省主界面的空间,Title和主界面搭配在一起,设置按钮监听,当Title按钮被点击时,从网上获取今日的天气情况,并显示在Title栏中。

四、实现技术及工具

Android提供了免费且跨平台的整合开发环境。采用JAVA语言结合Android编程的规则来编写程序。开发Android应用,需要以下硬件及软件支持:

1.操作系统。Windows XP ,Mac OS X(一个基于UNIX核心的系统)和Linux三种方式,本文使用了Windows XP的操作系统来开发。

2.JDK 5 或者 5以上版本。JDK是JAVA的开发环境,必须有了JAVA的开发环境才能开发JAVA程序。这里采用了JDK 7这个版本。

3.Eclipse IDE ,一个多用途的开发工具平台。Eclipse功能十分强大,可搭载其他扩成套件来开发其他项目,如网站开发、ERP开发等。Eclipse版本采用了3.7.0版本。

4.ADT, 一款基于Eclipse的扩充套件。

5.Android SDK,Android程序开发套件,包含了Android手机的模拟器,有了它你就可以在虚拟机中查看调试程序,方便很多。

五、应用程序设计

1.数据存储结构设计

数据采用了面向对象的思想去存储数据,因为数据量比较小,采用了XML文件来存储数据。数据以day标签为每一个数据对象,每一个day标签有多个属性,用来记录数据。数据的属性有Teacher、startTime、endTime、index、weekday、valuetext、classname。当程序启动时,把属性封装成对象,完成操作。

2.主视图设计

Android代码的编写,首先编写主界面的布局文件,每一个Activity文件会对应一个Layout的布局文件,由于在Android中表格布局无法分列,布局起来十分困难,而线性布局也可以做成表格,所以,最终选择了用线性布局来布局主视图。布局分为两大块,在一个总线性布局中首先套用了两个小的线性布局,如图3所示。

左侧的小线性布局放置不同的星期按钮,通过点击按钮来修改右边布局中对应星期的课程。右边的布局中,套用一个表格布局来约束各空间的比例,分出来每一行来存放和显示不同的课程、时间信息。再配以背景的美化,预期效果与最终效果对比如图4所示。

至此,主视图的设计完成,再在Activity中配置相应按钮的动作即可。在主视图创建时,程序读取xml数据载入视图中对应的控件,点击左侧的按钮会改变右侧控件的属性,从而查看每天的课程。

3.修改功能设计

修改功能设计时,需要另起一个Activity,与之对应需要另外建立一个Layout的布局文件,这里采用了Dilog的窗口。Activity的相互启动,需要用到Intent(意图)模式,意图中可以存放需要传递的参数。当点击要修改的课程时,程序会触发动作,来生成一个Dilog完成修改操作。根据要修改的属性,Dilog也采用了线性布局,其中包含开始时间、结束时间、课程名称、教师姓名,以及这节课需要的一些备注信息等属性。除了两个时间以外,其他的属性均使用了文本编辑条,而开始时间和结束时间,为了得到更好的用户体验采用了Android提供的Timepicker控件,它是一个时间选择的控件。当控件的时间发生改变,它会调用相应的OnTimeChangedListener()函数,在这里可以接收得到时间参数,并做相应的处理。