毕业论文-基于Android平台的多功能课程表_第1页
毕业论文-基于Android平台的多功能课程表_第2页
毕业论文-基于Android平台的多功能课程表_第3页
毕业论文-基于Android平台的多功能课程表_第4页
毕业论文-基于Android平台的多功能课程表_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大连东软信息学院本科毕业设计(论文)论文题目论文题目:基于Android平台的多功能课程表系 所: 电子工程系 专 业: 电子信息工程(嵌入式系统工程方向) 学生姓名: 学生学号: 指导教师: 导师职称: 副教授 完成日期: 2014年 5月 2日 大连东软信息学院Dalian 大连东软信息学院毕业设计(论文) 摘要 IV基于Android平台的多功能课程表摘 要随着社会经济水平的快速发展,人们的生活节奏愈加倾向于快速高效。为了更加合理的利用有限的时间,人们对于多功能课程表的要求也越来越高,传统的多功能课程表只能用来记录课程的基本信息,不能用来添加老师的详细信息和随时记录课堂笔记,也不能在指定

2、的时间对课程表的内容进行提示,基于Android平台的多功能课程表的设计就是为了解决这些问题。本设计旨在方便学生随时随地查看课程表、课堂笔记等信息,实现了显示学期信息功能、课程表信息管理功能、老师信息管理功能、课堂笔记信息管理功能和闹钟设置功能。本论文阐述了在Android平台下多功能课程表的设计与实现的过程,本系统是基于Java语言开发的,它主要采用了MVC软件开发模式,使用了Android布局技术进行UI的设计。本系统在不同型号的设备上进行了测试,能够实现基本操作,用户界面简洁大方,操作简单,功能实用。关键词:Android,智能手机,嵌入式数据库,多功能课程表Multi-function

3、 Curriculums Based on the Android PlatformAbstractWith the rapid development of socio-economic level, people increasingly tend pace of life quickly and efficiently. For a more rational use of the limited time, people multifunction curriculum requirements are also increasing, course of traditional mu

4、lti-function table can be used to record basic information courses, it cant be used to add details information about the teacher and not be used as lecture notes, in order to solve these problems, multi-function Curriculums based on the Android platform increasingly the more people know.This is desi

5、gned to facilitate students to view the curriculum, lecture notes and other information anytime or anywhere, it can achieve the semester information functions, curriculum information management functions, teacher information management function, class notes management functions and the information m

6、anagement function that alarm settings.This paper describes the design and implementation process in the Android platform, multi-functional curriculum, the system is based on Java language to development, it mainly in the MVC software development model, the UI design using the Android layout techniq

7、ues. The system on different types of devices were tested, it achieve the basic operation ,simple and elegant user interface , functional and practical. Key words: Android, Intelligent mobile phone, SQLite, Multi-functional curriculum schedule大连东软信息学院毕业设计(论文) 目录目录 TOC o 1-3 h z u HYPERLINK l _Toc387

8、745021 摘 要 PAGEREF _Toc387745021 h I HYPERLINK l _Toc387745022 Abstract PAGEREF _Toc387745022 h II HYPERLINK l _Toc387745023 第1章绪 论 PAGEREF _Toc387745023 h 1 HYPERLINK l _Toc387745024 1.1课题研究背景及意义 PAGEREF _Toc387745024 h 1 HYPERLINK l _Toc387745025 1.2课题研究的现状 PAGEREF _Toc387745025 h 1 HYPERLINK l _T

9、oc387745026 1.3 课题研究内容与方法 PAGEREF _Toc387745026 h 2 HYPERLINK l _Toc387745027 第2章关键技术介绍 PAGEREF _Toc387745027 h 3 HYPERLINK l _Toc387745028 2.1 Activity PAGEREF _Toc387745028 h 3 HYPERLINK l _Toc387745029 2.2 数据库 PAGEREF _Toc387745029 h 3 HYPERLINK l _Toc387745030 2.2.1 Shared Preferences PAGEREF _T

10、oc387745030 h 3 HYPERLINK l _Toc387745031 2.2.2 SQLite PAGEREF _Toc387745031 h 3 HYPERLINK l _Toc387745032 2.3 系统服务 PAGEREF _Toc387745032 h 4 HYPERLINK l _Toc387745033 2.3.1 状态提示信息 PAGEREF _Toc387745033 h 4 HYPERLINK l _Toc387745034 2.3.2 广播接收器 PAGEREF _Toc387745034 h 4 HYPERLINK l _Toc387745035 2.3

11、.3 闹钟服务 PAGEREF _Toc387745035 h 5 HYPERLINK l _Toc387745036 第3章系统需求分析 PAGEREF _Toc387745036 h 7 HYPERLINK l _Toc387745037 3.1 系统设计的目标 PAGEREF _Toc387745037 h 7 HYPERLINK l _Toc387745038 3.2 系统功能需求 PAGEREF _Toc387745038 h 7 HYPERLINK l _Toc387745039 3.3 系统开发环境 PAGEREF _Toc387745039 h 8 HYPERLINK l _T

12、oc387745040 3.4 系统可能性分析 PAGEREF _Toc387745040 h 8 HYPERLINK l _Toc387745041 3.4.1 技术可行性 PAGEREF _Toc387745041 h 8 HYPERLINK l _Toc387745042 3.4.2 经济可行性 PAGEREF _Toc387745042 h 8 HYPERLINK l _Toc387745043 第4章系统设计 PAGEREF _Toc387745043 h 9 HYPERLINK l _Toc387745044 4.1 系统设计指导原则 PAGEREF _Toc387745044 h

13、 9 HYPERLINK l _Toc387745045 4.2 软件设计 PAGEREF _Toc387745045 h 9 HYPERLINK l _Toc387745046 4.2.1 UI界面设计 PAGEREF _Toc387745046 h 9 HYPERLINK l _Toc387745047 4.2.2 数据库设计 PAGEREF _Toc387745047 h 12 HYPERLINK l _Toc387745048 4.2.3 功能模块设计 PAGEREF _Toc387745048 h 15 HYPERLINK l _Toc387745049 第5章系统实现 PAGERE

14、F _Toc387745049 h 18 HYPERLINK l _Toc387745050 5.1 环境配置 PAGEREF _Toc387745050 h 18 HYPERLINK l _Toc387745051 5.2 功能模块实现 PAGEREF _Toc387745051 h 18 HYPERLINK l _Toc387745052 第6章系统测试 PAGEREF _Toc387745052 h 25 HYPERLINK l _Toc387745053 6.1 测试概述 PAGEREF _Toc387745053 h 25 HYPERLINK l _Toc387745054 6.1.

15、1 测试简介 PAGEREF _Toc387745054 h 25 HYPERLINK l _Toc387745055 6.1.2 测试原理 PAGEREF _Toc387745055 h 25 HYPERLINK l _Toc387745056 6.1.3 测试目标 PAGEREF _Toc387745056 h 26 HYPERLINK l _Toc387745057 6.2 测试用例 PAGEREF _Toc387745057 h 26 HYPERLINK l _Toc387745058 6.2.1 学期信息测试用例 PAGEREF _Toc387745058 h 26 HYPERLIN

16、K l _Toc387745059 6.2.2 课程表信息测试用例 PAGEREF _Toc387745059 h 26 HYPERLINK l _Toc387745060 6.2.3 老师信息测试用例 PAGEREF _Toc387745060 h 27 HYPERLINK l _Toc387745061 6.2.4 课堂笔记信息测试用例 PAGEREF _Toc387745061 h 27 HYPERLINK l _Toc387745062 6.2.5 闹钟设置测试用例 PAGEREF _Toc387745062 h 27 HYPERLINK l _Toc387745063 6.3 测试结

17、果 PAGEREF _Toc387745063 h 27 HYPERLINK l _Toc387745064 6.3.1 学期信息显示结果 PAGEREF _Toc387745064 h 27 HYPERLINK l _Toc387745065 6.3.2 课程表信息显示结果 PAGEREF _Toc387745065 h 28 HYPERLINK l _Toc387745066 6.3.3 老师信息显示结果 PAGEREF _Toc387745066 h 28 HYPERLINK l _Toc387745067 6.3.4 课堂笔记信息显示结果 PAGEREF _Toc387745067 h

18、 29 HYPERLINK l _Toc387745068 6.3.5 闹钟设置的显示结果 PAGEREF _Toc387745068 h 29 HYPERLINK l _Toc387745069 第7章结论 PAGEREF _Toc387745069 h 31 HYPERLINK l _Toc387745070 参考文献 PAGEREF _Toc387745070 h 32 HYPERLINK l _Toc387745071 致 谢 PAGEREF _Toc387745071 h 33大连东软信息学院毕业设计(论文)- 第1章绪 论1.1课题研究背景及意义随着计算机技术的不断进步,手机也得到

19、的一定的发展空间,它经历了从模拟器时代到GSM时代、2.5G时代和现在正在广泛使用的3G时代以及将要到来的4G时代这么一个发展历程。在手机硬件性能得到不断的提升,同时支持手机操作的操作系统也得到了不断地发展,从最初的单片机系统到后来的专用嵌入式系统,以及目前大量使用的具有更高效率管理手机硬件资源的智能手机的操作系统。目前,全球广泛使用的基于智能手机的操作系统有:android系统(Google公司开发)、iPhone系统(苹果公司开发)、Symbian系统(诺基亚公司开发)WindowsMobile系统(微软公司开发)等。其中Android系统是Google与2007年11月5日宣布的基于Li

20、nux平台设计的开源智能手机操作系统,早期由Google开发,后来由开放手机设备联盟(Open Handset Alliance)开发。这个平台主要由四大部分组成,它们分别是操作系统、中间件、用户界面和应用软件,采用了软件堆层(Software stack)的架构,它是首个真正开发和完成的专门为移动设备终端创造的移动软件,以C/C+(底层),Java(应用层)作为编程语言。基于Android平台特有的开放性这一特点可以不断的促进技术的创新和成本的降低,因此Android手机具有很大的开发市场。随着手机的快速发展,智能手机在大学生的生活中扮演的越来越重要的角色。作为大学生,我们知道大学的课程种类

21、很多,同时,上课的时间地点也是不固定的,一周内有时不会出现同一门课,有时同一门课要到不同的地方上课,这样记住课程表就非常的困难。基于上面的问题,本设计实现的是基于Android手机的课程表,只要把课程表输入到手机中,就可以随时随地的通过手机了解到上课的信息,它可以在很大的程度上方便学生的生后。1.2课题研究的现状随着智能手机的快速发展,各种应用软件也得到了越来越多的人的关注。目前,在安卓软件市场中我们可以找到各种需求的软件,课程表管理类的软件也是随处可见的。其中智能课程表在Android市场中占有一定的空间,甚至一些公司也开发了这一类的应用软件,例如:超级课程表。这款软件得到很多学生的大力支持

22、,据了解它已经支持全国3000多所高校,对接高校教务(选课)系统,可以快速导入课表到手机中,可以快速找到周围同学。可见它为学生的生活带来了相当大的方便。在大学生中,所学课程的种类繁多、上课地点的不断变化、课程的临时修改和添加,让学生们疲于不断的记忆上课的教室、地点和是否有更改。因此,对于课程表管理系统的开发和应用的就需要不断的完善。在安卓软件市场中,所提供的这一类软件各有千秋,总体来说,使用的人群比较单一、交互性不够、功能单一。因此不断的完善以上的问题就显得尤为重要。现如今的安卓应用程序在不断地更新,它在根据用户的需求不断地完善。也有越来越多的课程表在不断地出现。1.3 课题研究内容与方法基于

23、Android平台的多功能课程表是基于Android手机平台在Eclipse环境下开发的,用Java语言编写完成的一款软件。在这款软件中包含了以下的功能:(1)课程表管理:添加课程表并对课程表进行增、修改、删除等操作;(2)定时提醒:可以添加定时的内容、查看定时的内容、修改定时内容;(3):添加老师信息:添加老师的信息、查看老师信息、修改和删除老师信息;(4)添加笔记:可以随时的进行笔记,并对笔记进行修改、删除,并随时查看笔记的内容。在课题研究中,首先从周围的学生进行了调查,了解学生对与多功能课程表的要求是什么;网络上下载了相关的软件,通过对它的使用了解多功能课程表的基本功能是什么;最后通过相

24、关资料的查阅来对设计进行实现。 大连东软信息学院毕业设计(论文)第2章关键技术介绍2.1 ActivityActivity是Android程序的呈现层,用来显示可视化的用户界面,并接受与用户交互所产生的界面事件。Activity的生命周期指Activity从启动到销毁的过程,在这个工程中,Activity一般表现为四种状态,分别是活动状态、暂停状态、停止状态和非活动状态。(1)活动状态:当Activity在用户界面中处于最上层,完全被用户看到,能够与用户交互,则Activity处于交互状态。(2)暂停状态:当Activity在界面上被部分遮挡,该Activity不再处于最上层,且不能与用户进行

25、交互,则Activity处于暂停状态。(3)停止状态:当Activity在界面上完全不能被用户看到,也就是说这个Activity被其他的Activity全部遮挡,则这个Activity处于停止状态。(4)非活动状态:不处于活动状态、暂停状态、停止状态下的Activity活动就处于非活动状态。在本项目中,我们用到多个Activity,实现了各个Activity之间的跳转以及数据的传递,使界面活动多样化。2.2 数据库2.2.1 Shared PreferencesShared Preferences是在Android中用来存储一些轻量级数据的,如:开机欢迎语、用户名、密码等。它位于Activit

26、y级别,它用XML文件存放数据,并且将数据文件保存在目录“/data/data/shared_prefs”下。它支持的数据类型包括:布尔型(Boolean)、浮点型(float)、整型(int)、长整型(long)和字符串(String)。Shared Preferences不仅能够保存数据,还能够实现不同应用程序数据之间的共享。Shared Preferences它支持三种访问模式,它们分别是:私有(MOED_PRIVATE):在这种模式下,只允许创建程序对其进行读取和写入操作。全局读(MODE_WORLD_READABLE):在这种模式下,只有创建程序可以对它进行读取和写入,其它的应用程序

27、只能进行读取操作。全局写(MODE_WORLD_WRITEABLE): 在这种模式下,所有的应用程序都只能对其进行写入操作,不具有读取的权利。在该应用程序中用该方法来存储课程表信息。2.2.2 SQLiteSQLite,它是Android自带的关系型数据库,它是一个基于文件的轻量级数据库,位嵌入式设备量身打造。每个应用程序创建的数据库都是私有的,但是Content Provider可以把数据分享给其他的应用程序。SQLite数据库特点:更加适用于嵌入式系统,嵌入到使用它的用用程序中;它占用非常少的空间,高效可靠的运行,具有好的可移植性;具有零配置(zero_configuration)运行模式

28、。SQLite数据库在提高了运行效率的同时,解决了数据库在使用和管理过程中的复杂性,因此程序在应用数据库时只需要对数据库进行最基本操作就可以了,其它的操作交给进程内部的数据库引擎去完成。在这个程序中我用SQLite来存储笔记的数据、老师信息的数据和提示内容的数据。2.3 系统服务是一个在背景运行的进程,可移植性和活动一样的工作,只是没有使用界面,随意不会在用户互动。例如:播放背景音乐时,之所以不会打断客户发短信或收发电子邮件,就是因为它是一个在后台运行 的服务,所以才能让音乐播放不会中断。Android的服务(Services)依据适用范围不同,可以分为以下两种类型:本地服务(Local Se

29、rvice):使用在Android应用程序的内部,主要是实现一些应用程序的耗时服务。例如:下载文件、播放音乐和查询升级信息等。因为服务时在后台运行,所以不会影响用户操作应用 程序,可以提升用户经验,不会被一些耗时任务中断。远程服务(Remote Services):使用在Android操作系统中不同应用程序之间的服务,简单地说,这种服务可以被应用程序重复使用。例如:天气预报服务、定位服务和感应器服务等。应用程序并不需要自行创建这些服务,而只是使用这些远程服务。2.3.1 状态提示信息状态栏(Status Bar)是移动设备最上方的一条横向的长条区域,不同于Windows窗口的状态栏位于最下方(

30、平板电脑Android 3.x也是位于下方的),Android 4.x 版操作系统的状态栏位于最上方,“通知服务”(Notification Service)是一种系统服务,在状态栏显示可向下拖动的通知,如未接来电。在状态栏中可以显示信息的图标、文字、和时间,往下拖动,可以展开通知的条目列表,显示要通过状态栏提示的信息,并可以点击启动对应的Activity。2.3.2 广播接收器广播器收起顾名思义是用来接收广播并做出回应,这是Android操作系统层级的广播与回应机制。Android 系统本身就会常常发出广播,例如:接到来电、收到短信、启动相机设备、时区改变、系统开机、电池剩余量过低或者用户选

31、择偏好语言时,Android系统会发出广播。广播接收器本身并没有任何使用界面,它是一个继承android.content.BraodcastReceiver抽象类的子类,等接收到指定的广播而触发时,即在实现的onReceive()抽象方法()(因为是抽象方法,继承的子类必须要实现此方法)回应广播来执行所需要操作。Android应用程序也可以发送自定义广播,从一个活动到另一个活动,或完全不同的Android应用程序。例如:使用广播让其他应用程序知道已经完成文件下载,在Java程序时使用Intent对象的sendBroadcast()方法来发送自定义广播。因为广播接收器本身并没有程序进入点,在移动

32、设备安装广播接收器后,用户并不能直接执行,我们需要在活动通过Intent意图对象发出广播来启动。2.3.3 闹钟服务在Android系统中,底层系统提供了两种类型的时钟,软时钟与硬时钟,软时钟就是我们常说的Timer,硬时钟就是RTC。系统在正常运行的情况下,Timer工作提供时间服务和闹钟提醒,而在系统进入睡眠状态后,时间服务和闹铃提醒功能都由RTC来负责。对于上层应用来说,我们并不需要关心是timer还是RTC为我们提供服务,因为Android系统的Framework层把底层细节做了封装并统一提供API。这个API它的名字就叫Alarm Manager。在Android系统中有意思的是对应

33、Alarm Manage有一个Alarm Manager Services服务程序,该服务程序的功能是提供闹铃服务,它主要维护应用程序注册下来的各种闹铃并适时的设置即将发生的闹铃信息发送给闹铃设备(在Android系统中,Linux实现的设备为“/dev/alarm”),并且一直监听闹铃设备,一旦有闹铃触发或者是闹铃事件发生,Alarm Manager Service服务程序就会遍历闹铃列表找到相应的注册闹铃并发出广播。该服务程序在系统启动时被系统服务程序System_Service启动并初始化闹铃设备(/dev/alarm)。当然,在Java层的Alarm Manager Service与L

34、inux Alarm驱动程序接口之间还有一层封装那就是JNI。Alarm Manager将应用于服务分割开来后,使的应用程序开发者不用关心具体的服务,而是直接通过Alarm Manager来使用这种服务。这也许就是客户/服务模式的好处吧。Alarm Manager与Alarm Manager Service之间是通过Binder来通信的,他们之间是多对一的关系。在Android系统中,Alarm Manage提供了3个接口5种类型的闹铃服务。3个API调用接口:void set(int type, long triggerAtTime, PendingIntent opration);/注册一

35、个新的闹钟void serRepeating(int type,long triggerAtTime,long interval, PendingIntent operation);/注册一个重复类型的闹钟void setTimeZone(String timeZone)/设置时区5种闹钟类型:public static final int ELAPSED_REALTIME/当系统进入睡眠状态时,这种类型的闹钟不会唤醒系统。直到系统下次被唤醒才传递它,该闹铃所用的时间是相对时间,是从系统启动后开始进行计时,它包括了休眠时间,系统能够通过调用SystemClock.elapsedRealtime

36、()获得。它的系统值是3。public static final int ELAPSED_REALTIME_WAKEUP/唤醒系统,它用法同ELAPSED_REALTIME,系统值是2。public static final int RTC/在系统进入到休眠状态时,这种类型的闹铃是不能唤醒系统,直到系统在下次被唤醒时才能对其进行传递操作,这种闹铃所用的时间是绝对时间,它使用时间是UTC时间,能够通过调用System.currentTimeMillis()得到。它的系统值为1。public static final int RTC_WAKEUP/它能唤醒系统,用法同RTC类型,系统值为0。pub

37、lic static final int POWER_OFF_WAKEUP/它可以唤醒系统,它是一种关机闹铃,是指设备在关机状态下系统也能够被唤醒,所以将它称为关机闹铃。使用方法同RTC类型一样。它的系统值为4。第3章系统需求分析3.1 系统设计的目标随着对智能手机应用人群的增多,智能手机的用途和功能也在不断的丰富中。现在智能手机对于用户而言,手机不仅仅只是打电话、发短信一种与他人联系的工具。它在人们日常生活、娱乐和工作中扮演的角色越来越重要。对于大学生,手机陪伴他们的时间越来越多,对于各种手机软件的应用要求也越来越高。大学生活丰富多彩,同时也充满了挑战,比如:记住课程表就是一件让人头疼的事,

38、这款软件的目标就在于解决这个问题。3.2 系统功能需求根据需求分析的调查结果可以确定,这款软件主要有以下功能模块:学期信息模块、课程表管理模块、老师信息管理模块、课堂笔记管理模块和闹钟设置模块。各模块中业务模块的描述如表3.1所示:表3.1 基于Android平台的多功能课程表业务功能功能编号功能名称功能描述优先级1系统启动功能通过改变图片的明亮,从而实现系统的启动。12学期信息设置功能通过对开学时间的设置,显示当前的学年、学期、周数和星期。23课程表提示功能通过“设置提醒时间”按钮设置课程表提醒时间,当设置时间(时间设置以后每隔24小时后将会再次执行)到来时在状态栏中会有信息提示,通过点击提

39、示可以查看当天的课程表中课程和教室这两条信息。34课表添加功能通过“课程表”按钮进入课表界面以后,手动输入该学期课程表的信息,课程表信息包括:上课时间、课程名称、上课教室和上课老师。35课表删除功能点击“删除课程表”按钮,就可以将你要删除的当天课程表中所有信息都删除;也可以直接将要删除的那一项清空,然后点击保存,来实现删除课程表中的任何一项信息。46课表修改功能找到要修改的信息所在的位置,将要修改的内容添加到这一条信息所在的位置,然后点击保存,这样后添加的内容将以前的内容覆盖,这样课程表修改完成。47老师信息添加功能通过“老师信息”按钮进入“老师信息”界面,然后再菜单项中点击“添加”进入“老师

40、信息添加”界面,在该界面中可以添加老师姓名、办公室、电话何老师所带课程等信息。38老师信息删除功能在“老师信息”界面中点击要删除的那一条信息,将弹出“是否删除信息”的提示框,点击确定将删除该条信息。49老师信息修改功能在“老师信息”界面中点击要修改的那一条信息,将弹出“是否修改信息”的提示框,然后点击确定,将会把所有信息都重新显示,然后对该条信息进行修改。4续表3.1 基于Android平台的多功能课程表业务功能功能编号功能名称功能描述优先级10打电话功能从老师信息读取老师的电话号码,然后调动Android系统自身的打电话模块来实现打电话功能。411课堂笔记添加功能点击“Menu”进入笔记添加

41、界面,在该界面中可以添加标题和主要内容,在添加完成后点击保存,添加的信息保存成功,并且将添加的信息中的标题和添加的时间显示在“课堂笔记”界面中。312课堂笔记查看功能在“课堂笔记”界面中不会显示添加课堂笔记的主要内容,通过“查看功能”就可以查看添加的课堂笔记的主要内容。413课堂笔记修改功能在“课堂笔记”界面中,点击要修改的那一条信息,将弹出“是否修改该条信息”的提示框,然后点击确定,将该条信息的所有信息的重新显示,然后对其进行修改,在修改完成后点击保存,信息修改成功。414课堂笔记删除功能在“课堂笔记”界面中点击要删除的那一条信息,将弹出“是否删除信息”的提示框,然后点击确定,该条信息删除成

42、功。415发短信功能读取课堂笔记的内容,将课堂笔记的内容通过短信的方式发送给你想发送的朋友。416闹钟添加功能通过“闹钟提示”按钮进入“闹钟提示”界面,然后通过点击“添加”按钮进行闹钟的添加。317闹钟修改功能点击“修改”按钮,首先系统将给出闹钟是否执行的提示信息,通过提示可以对相应的闹钟进行修改操作。418闹钟查看功能点击进入“查看”按钮,就可以查看闹钟设置的时间、星期和备注内容。43.3 系统开发环境系统开发平台:Android 4.0 平台操作系统:Windows 7(旗舰版)编程工具:Eclipse 3.7.0、SDK 3.7.1、ADT 15.0.03.4 系统可能性分析3.4.1

43、技术可行性这款软件在技术实现种功能可靠,组件配合简单,因此不需要大规模的计算和读取数据,所以对计算机的性能要求并不高,对环境的搭建没有特殊的要求。3.4.2 经济可行性这款软件是基于Android系统开发的,不需要其他的硬件条件,只要将软件下载到安装了Android系统的智能手机中就可以使用。第4章系统设计4.1 系统设计指导原则先进性本设计是基于android平台设计开发的,可以下载到任何一款安装了Android系统的智能手机,界面设计简单大方,操作简单,使用方便。 4.2 软件设计4.2.1 UI界面设计通过对需求分析的阅读,可以知道这款软件将会有多个界面设计,通过各个界面之间的相互跳转来

44、实现各个功能,下面将介绍各个界面之间的响应关系。学期信息显示模块的UI界面设计在启动软件以后首先进入欢迎界面(如图4.1),欢迎界面通过改变图片背景的明暗程度通过线程进入开学信息设置界面(如图4.2),设置好开学时间后通过“跳转”按钮可以在学期信息显示界面(如图4.3)中查看该学期的信息,在学期信息界面通过菜单项“设置课程提示”进入设置课程提示界面(如图4.4),在该界面中设置课程提示的时间。 图4.1欢迎界面 图4.2开学时间设置界面 图4.3 学期信息显示 图4.4 设置课程提示界面课程表管理模块的UI界面设计通过学期信息显示界面中的“跳转”按钮将进入操作界面(如图4.5),在操作界面中主

45、要有4个按钮,可以通过这四个按钮进入到不同的功能模块,例如点击“课程表”按钮将进入课程表管理界面(如图4.6)。当在设置课程提示界面中设置的课程提示时间和系统时间一样时将在状态栏中显示图标对课程表进行提示,通过图标提示可以进入课表提示的显示界面(如图4.7),可以通过课表提示的显示界面中的“查看详细信息”按钮进入课表管理界面。图4.5操作界面 图4 .6课程表管理界面图4.7 课表提示的显示界面课堂笔记管理模块的UI界面设计在操作界面中点击“课堂笔记”按钮将进入课堂笔记查看界面(如图4.8),通过课堂笔记查看界面中菜单项“添加笔记”可以进入课堂笔记添加界面(如图4.9)。图4.8课堂笔记查看界

46、面 图4.9 课堂笔记添加界面老师信息管理模块的UI界面设计在操作界面中点击“老师信息”按钮将进入老师信息查看界面(如图4.10),通过老师信息查看界面中菜单项“添加老师信息”可以进入课堂笔记添加界面(如图4.11)。 图4.10老师信息查看界面 图4.11 老师信息添加界面闹钟模块的UI界面设计在操作界面中点击“设置闹钟”按钮将进入闹钟信息显示界面(如图4.12),通过闹钟信息显示界面中的按钮“闹钟1”或者“闹钟2”可以进入闹钟设置界面(如图4.13)。 图4.12闹钟信息显示界面 图4.13 闹钟设置界面上面所介绍的跳转方法是各个界面之间最直接的跳转的方式,操作起来有一定的局限性,为了解决

47、这种问题,设计时在各个界面之间设置按钮来进行界面之间的相互响应,使操作简单很大程度上方便了用户使用。4.2.2 数据库设计软件设计中用到两种方法来存储数据,它们分别是用来存储轻量级数据的SharedPreferences和数据库SQLite。用SharedPreferences来存储学期信息、课程表信息和闹钟设置中的一些信息。用SQLite来存储老师信息和课堂笔记的信息。下面将对Shared Preferences存储的数据和数据库中的数据做一个简单的说明:Shared Preferences存储数据时主要用key-value“键值对”的方法来存储数据,它的数据主要存储在/data/data/

48、shared_prefs目录下面用XML的格式来存储数据。相对于其它一些文件XML格式的文件优势在于能够快速的查找,XML格式的文件是一个只有一个根节点的树状存储格式文件。在课程表的设计中用Shared Preferences主要存储周一到周日一些与课程有关的信息。这些信息包括每天六节课的所有信息,每节课的信息又包括了上课的时间、上课的老师、上课的地点和这节课的课程名称。由于课程表中的所有课程的信息比较多,在这里只将课程表中星期一的数据用表格显示(如表4.1):表4.1 课程表在Shared Preferences中数据的key-value的值数据名Key-value(键值对)初值星期一(第一

49、节课)时间KEY_KE0010课程KEY_KE0020老师KEY_KE0030教室KEY_KE0040(第二节课)时间KEY_KE0050课程KEY_KE0060老师KEY_KE0070教室KEY_KE0080(第三节课)时间KEY_KE0090课程KEY_KE0100老师KEY_KE0110教室KEY_KE0120(第四节课)时间KEY_KE0130课程KEY_KE0140老师KEY_KE0150教室KEY_KE0160(第五节课)时间KEY_KE0170课程KEY_KE0180老师KEY_KE0190教室KEY_KE0200(第六节课)时间KEY_KE0210课程KEY_KE0220老师K

50、EY_KE0230教室KEY_KE0240在开学信息的设计中用Shared Preferences存储了两种数据,它们分别是星期和周数,这种存储方法方便了数据的读取和在后台中进行的计算(如表4.2):表4.2 开学信息在Shared Preferences中数据的key-value的值数据值Key-values初值星期KEY10周数KEY20在闹钟信息中设置中用Shared Preferences存储闹钟设置的时间、星期和备注的内容,这种存储方式为数据在其它的界面中的显示提供了方便(如表4.3):表4.3 闹钟在Shared Preferences中数据的key-value的值数据值Key-v

51、alues初值第一个闹钟的参数备注KEY10星期KEY20小时KEY50分钟KEY60第二个闹钟的参数备注KEY30星期KEY40小时KEY70分钟KEY80在程序设计中用SQLite创建了两个数据库分别是database和coll,在数据库database创建表diary来存储课堂笔记的信息;在数据库coll中创建表CollTb1来存储老师相关的信息。为了用户更加方便了解数据库中的数据,将数据库database中的数据用图4.15进行说明;将数据库coll中的数据用图4.16进行说明。图4.14课堂笔记数据E-R图将图4.15课堂笔记数据E-R图用相应的表格来表示,如表4.4中所述: 表4.

52、4 课堂笔记数据表属性数据类型说明_idInteger主键,它会自动增加titleText课堂笔记的题目bodyText课堂笔记的内容createdText添加课堂笔记的时间图4.15 老师信息数据E-R图将图4.16课堂笔记数据E-R图用相应的表格来表示,如表4.5中所述:表4.5 老师信息数据表属性数据类型说明_idInteger主键,它会自动添加nameText老师姓名phoneText老师电话daikeText老师教的课程offerText老师的办公室4.2.3 功能模块设计基于Android平台的多功高能课程表主要有设置开学时间从而显示学期信息,课程表信息查看,记录课堂笔记,记录老师

53、详细信息和设置闹钟的功能,所以该系统可以分为以下几个模块:学期信息模块、课程表模块、课堂笔记模块、老师信息模块和闹钟模块(如图4.16所示):.图4.16功能模块设计图系统主要功能概述:学期信息模块包括设置开学时间功能、显示学年、学期、周数、星期的功能、查看关于功能和设置课程提示功能。用户可以通过设置开学时间从而计算学年、学期、周数、星期,并且这些信息显示出来;也可以通过menu查看有关该系统的一些基本信息(比如:该系统的开发者);还可以通过menu设置课程提示的时间,从而实现在特定的时间显示课程信息。课程表管理模块包括了课程表的添加、删除和修改功能、记录课堂笔记的功能和查看老师信息的功能。用

54、户可以直接在对应的星期界面通过相应的按钮对课程表进行添加、删除和修改操作;也可以通过查看老师信息按钮可以进入查看老师信息的界面;还可以通过menu查看课堂笔记的内容。课堂笔记管理模块包括添加课堂笔记、查看课堂笔记和分享课堂笔记的功能。用户可以通“课堂笔记”按钮进入课堂笔记查看界面,点击menu中选项笔记进行添加笔记、查看笔记和分享笔记等操作;也可以通过选中要进行操作的笔记信息对笔记内容进行查看和修操改的操作。老师信息管理模块包括了添加老师的详细信息功能、查看和修改老师信息的功能和给老师打电话功能。用户可以通过点击“老师信息”按钮进入老师信息查看界面,通过点击menu可以进行老师信息添加和打电话

55、的功能;也可以通过选定相关的老师信息对其进行修改和删除的操作。闹钟模块包括了添加闹钟的功能、修改闹钟的功能和闹钟延时功能。用户可以通过点击“闹钟设置”按钮进入闹钟界面(只可以同时设置两个闹钟),可以同点击按钮进入设置闹钟的界面,在开启闹钟以设置闹钟的提示时间和添加备注内容,当闹钟设置的时间到时,闹钟会自动弹出备注内容提示框的同时通过手机震动对用户进行提示,在这里可以直接关闭闹钟也可以设置延时。大连东软信息学院毕业设计(论文)第5章系统实现5.1 环境配置当android软件下载安装成功以后,先要进行系统环境的配置,如果在没有配置环境的情况下使用JAVA工具,系统将报错。为了正常使用JAVA工具

56、进行编译和运行JAVA程序,我们必须对JAVA环境变量进行配置,其配置工程如下所述:通过鼠标右键点击“我的电脑”,选择“属性”再在属性的选项中单击“高级系统设置”,将会出现系统属性界面;在系统属性界面中找到“高级”界面,点击界面中的“环境变量”按钮将出现环境变量界面;在环境变量中设计了三个变量参数:1. JAVA_HOME; 2. PATH; 3. CLASSPATH.在这三个变量参数中PATH是已经存在的,JAVA_HOME和CLASSPATH在没有安装JDK的情况下是不存在的,这两个变量参数需要新建。新建的过程如下:在系统变量中点击“新建”出现新建系统变量界面,这该界面中变量名文本框中输入

57、JAVA_HOME,在变量值文本框中输入安装JDK的路径,然后点击确认;在系统变量中找到变量PATH点击“编辑”,在编辑系统变量界面中变量值文本框中有许多字符,不要将其删除或修改,这些字符都是用“;”来进行分割的,将JDK中bin文件的路径加到文本框的最后面,不要忘记加“;”,然后点击确定。完成上面三步后,要对JDK进行测试,看其是否配置成功。点击“开始”打开cmd,在cmd中输入java-version,出现图5.1中的内容,则表示JDK配置成功。图5.1 JDK测试完成以上步骤后,启动Android软件,点击window下preferences选项,在Preferences界面中选择And

58、roid4. 0.3然后点击“Apply”;接着在window中选择AVD Manage,选择“new”创建一个新的模拟器,创建完成以后点击“start”,这是模拟器创建完成了。这时整个系统环境就搭配成功了。5.2 功能模块实现(1)学期信息模块实现在系统启动后,首先进入开学时间设置界面,根据设定的时间判断这个学期是第几学期和学年;也可以根据设定的开学时间和当前的系统时间对比,计算出系统时间所在当天是本学期的第几周、星期几,最后将获得的数据显示在学期信息界面上;也可以在该模块中设置课程提示,在设置了课程提示以后,系统将会在设置的时间与系统时间一样时将当天的课表和星期在状态栏中给出提示,这样用户

59、在不用启动系统的情况下就可以查看当天的课表。该模块的操作流程如图5.2:图5.2 学期信息模块流程图在该模块中由于一学期的周数不能直接得到,要通过计算才能得到,下面是周数计算的代码:Calendar m1 = Calendar.getInstance(); year = m1.get(Calendar.YEAR); month = m1.get(Calendar.MONTH)+1; int weeks = m1.get(Calendar.DAY_OF_WEEK); if(2month&month1?hourOfDay+:0+hourOfDay;String tempMinute=(minute

60、+).length()1?minute+:0+minute;Toast.makeText(clocknewActivity.this, 设置的时间为:+tempHour+:+tempMinute,Toast.LENGTH_SHORT).show();dt1.setText(tempHour+:+tempMinute);SharedPreferences mShared = getSharedPreferences(sSHARED_MAIN1, Context.MODE_PRIVATE); String ke5 = tempHour;String ke6 = tempMinute; Shared

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论