基于android系统的课程表的设计与实现大学论文.docx

上传人:b****8 文档编号:10200727 上传时间:2023-02-09 格式:DOCX 页数:32 大小:1.17MB
下载 相关 举报
基于android系统的课程表的设计与实现大学论文.docx_第1页
第1页 / 共32页
基于android系统的课程表的设计与实现大学论文.docx_第2页
第2页 / 共32页
基于android系统的课程表的设计与实现大学论文.docx_第3页
第3页 / 共32页
基于android系统的课程表的设计与实现大学论文.docx_第4页
第4页 / 共32页
基于android系统的课程表的设计与实现大学论文.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

基于android系统的课程表的设计与实现大学论文.docx

《基于android系统的课程表的设计与实现大学论文.docx》由会员分享,可在线阅读,更多相关《基于android系统的课程表的设计与实现大学论文.docx(32页珍藏版)》请在冰豆网上搜索。

基于android系统的课程表的设计与实现大学论文.docx

基于android系统的课程表的设计与实现大学论文

河北农业大学

本科毕业论文

题目:

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

摘要

随着无线移动设备的发展,手机也日益普及,Android系统的推出使手机的发展进入到了一个新的领域。

世界上一些知名的移动设备生产厂商对于Android智能机的开发热情也日益提高,Android系统的使用人群正在急速提升,Android应用程序的多样化对人们快速获取资讯以及方便人们的生活起着不可忽视的作用,近年来Android得到了社会更多的认同和应用,本文主要概述了Android系统的体系结构,Android应用程序的开发环境和用JAVA语言开发基于Android系统的课程管理系统中的一些技术实现方法,这些技术包括:

基于Android系统的电子课程表的用户界面设计,Service的使用,SQLite数据库的建立和存储。

在系统的设计与实现中,确定系统的开发思想以及开发环境。

最后给出了系统中模块的详细设计与实现,并对系统模块涉及到的关键源代码进行了详细的分析。

经过调试运行后表明,系统可以满足用户的各项要求。

关键词:

Android,JAVA,SQLite,课程管理

 

 

Abstract

Withthedevelopmentofwirelessmobiledevices,mobilephoneshavebeenincreasinglypopular,andtheintroductionofAndroidsystemhaspromotedthedevelopmentofphonesintoanewarea.Someoftheworld’sleadingmobiledevicemanufacturershavealsoshowngreatenthusiasmfortheexploitationofAndroidintelligentmachines.Beside,diversifiedAndroidapplicationprogramsplayasignificantroleinpeople’squickaccesstoinformationandfacilitationofpeople'slife.Therefore,customersofthissystemarerapidlyincreasingInrecentyears.ThispaperoutlinesthearchitectureofAndroidsystem,itsdevelopmentenvironmentandsometechnicalimplementationofClassmanagementsystemonandroidsystembasedonJAVAlanguage.ThesetechnologiesincludethedesignofuserinterfaceofClassmanagementsystemonandroidsystem,systemcallsofAPI,andestablishmentandstorageofSQLitedatabase.Duringthedesignandrealizationofthesystem,makingsurethedevelopmentthoughtofthesystem,atlastshowthedesigndetailswithrealizefinallyanakeyforofdetaileddesignwithrealization,andanalyzedtheprogramwhichrelatetothesystemmoduleTheauthorwillelaborateeachtechnologicalpointspecificallyinthispaper.

Keywords:

Android,JAVA,SQLite,Classmanage

1绪论

1.1项目背景及意义

对于课程管理,相信大家都不会感到陌生,课程管理即是帮助老师和学生管理课程,最早以纸质的方式存在,随着科技的发展,电子课程管理也出现在了手机上,更方便的为人们管理课程,记录课程的相关信息。

在中国,手机已经成为人们日常生活必不可少的一部分,智能手机在高校人群中逐渐得到了普及,Android手机凭借其优秀的系统性能以及良好的用户体验迅速得到了大学学生的青睐。

在高校中,上课并不像高中时期有固定的教室和固定的时间,大学课程种类繁多,并且上课地点和时间都不固定,一周内极少会出现重复课程,所以要将课程表完整的记忆下来是一项很艰难的事情,每次上课时总有许多同学在上课的路上才想到不知道在哪个教室上课,于是不得不每次拿出手机打电话花两毛钱问同学,或者一些同学一直装个纸质的课程表在衣袋里,极不方便。

鉴于Android手机在大学中的普及率很高,于是我就想到了创作一个Android版的课程管理程序。

将课程表放进手机里,只需大家需要按照具体时间、课程名称等将自己的课程信息录入到系统中,为一周的每一天添加下课程安排,就可以一劳永逸。

基于这些问题,有必要设计一款具有课程管理程序,配合上可以让用户自定义上课时间以及地点的功能,从而避免遗忘上课的事情出现。

1.2国内外现状

移动互联网发展的时代产物,学生下载课程表软件后安装输入学校信息管理系统帐号即可自动录入个人课程表,方便快捷。

目前国内唯一支持自动录入课程表的手机软件-"超级课程表"。

"超级课程表"是一款由几个90后以课程表为基础而展开的校园实用软件,面向高校大学生。

其功能不仅能够帮助大学生查阅各个大学的课程信息(包括课程时间、授课地点、任课老师),还可以将自己的课程安排发布到应用中,与好友分享。

除此之外,课程相同或者对此感兴趣的学生,可以在应用中讨论课程内容,分享上课的笔记,共享文件资源。

甚至可以认识到同一节课任意课室范围内的同学,扩展交际圈,并可以向同班同学发送私信,方便同学间即时、便捷的联系。

还可以查看到全校课程,并添加入为个人旁听课程,制订属于自己的学霸计划!

绑定第三方应用并分享到给第三方应用的粉丝。

与其它课程表应用不同的是,“超级课程表”不需要用户手动添加课程,用户输入学校信息管理系统账号后,系统自动添加,方便,快捷。

“超级课程表”具有以下几点功能;

(1)对接高校教务系统,自动录入课表到手机;

(2)快速记录课堂笔记、课后作业,提高学习效率;

(3)精准推荐千万节旁听课程,校内跨院系蹭课;

(4)软件内学习外语,充实你的课余生活;

(5)精彩“下课聊”,百万大学生在线交流社区;

(6)同学间互传纸条,在线交流学习。

1.3论文组织结构

本文主要介绍了Android系统中的相关技术以及Android系统的架构,以及研究,分析,和实现基于Android电子课程表系统,包括以下几个部分:

第一章简要介绍了Android手机平台的背景及国内外发展情况。

第二章主要写了本程序的可行性及需求分析。

第四章主要叙述了对系统设计以及对数据库的分析。

第五章主要写了程序首页以及课程设置的实现。

2相关技术分析

2.1Android概述

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备。

Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。

Android一词最早出现于法国作家利尔亚当(AugusteVilliersdel'Isle-Adam)在1886年发表的科幻小说《未来夏娃》(L'èvefuture)中。

他将外表像人的机器起名为Android。

Android的Logo是由Ascender公司设计的,诞生于2010年,其设计灵感源于男女厕所门上的图形符号,于是布洛克绘制了一个简单的机器人,它的躯干就像锡罐的形状,头上还有两根天线,Android小机器人便诞生了。

其中的文字使用了Ascender公司专门制作的称之为“Droid”的字体。

Android是一个全身绿色的机器人,绿色也是Android的标志。

颜色采用了PMS376C和RGB中十六进制的#A4C639来绘制,这是Android操作系统的品牌象徵。

有时候,它们还会使用纯文字的Logo。

2012年7月美国科技博客网站BusinessInsider评选出二十一世纪十款最重要电子产品,Android操作系统和iPhone等榜上有名。

与其他手机操作系统相比,Android有4个无可比拟的优点:

(1)开放性:

Android系统同时包含了底层操作系统以及移动电话所需的全部软件,不存在专有权障碍,开发平台允许任何移动终端厂商加入到Android联盟中来,并允许不同厂商可以根据自己的需求对平台进行定制和扩展,无需任何授权许可费用;

(2)所有应用程序平等:

Android系统中,系统核心应用和第三方应用都是完全平等的,用户可以将手机中的任意应用程序替换成所需的其他应用程序;

(3)应用程序间无界限:

开发人员可以吧Web上的数据与本地的日历、联系人、位置信息结合起来,应用程序还可声明它们可供其他程序使用;

(4)快速方便的应用程序开发:

Android平台为开发人员提供了大量的实用库及工具,可以让开发人员快速的创建自己的应用。

2.2Android系统的四大组件

Android四大基本组件分别是Activity,Service服务,ContentProvider内容提供者,BroadcastReceiver广播接收器。

(1)Activity

应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。

Activity之间通过Intent进行通信。

在Intent的描述结构中,有两个最重要的部分:

动作和动作对应的数据。

典型的动作类型有:

MAIN(activity的门户)、VIEW、PICK、EDIT等。

而动作对应的数据则以URI的形式进行表示。

例如:

要查看一个人的联系方式,你需要创建一个动作类型为VIEW的intent,以及一个表示这个人的URI。

与之有关系的一个类叫IntentFilter。

相对于intent是一个有效的做某事的请求,一个intentfilter则用于描述一个activity(或者IntentReceiver)能够操作哪些intent。

一个activity如果要显示一个人的联系方式时,需要声明一个IntentFilter,这个IntentFilter要知道怎么去处理VIEW动作和表示一个人的URI。

IntentFilter需要在AndroidManifest.xml中定义。

通过解析各种intent,从一个屏幕导航到另一个屏幕是很简单的。

当向前导航时,activity将会调用startActivity(IntentmyIntent)方法。

然后,系统会在所有安装的应用程序中定义的IntentFilter中查找,找到最匹配myIntent的Intent对应的activity。

新的activity接收到myIntent的通知后,开始运行。

当startActivity方法被调用将触发解析myIntent的动作,这个机制提供了两个关键好处:

A、Activities能够重复利用从其它组件中以Intent的形式产生的一个请求;

B、Activities可以在任何时候被一个具有相同IntentFilter的新的Activity取代。

(2)Service

一个Service是一段长生命周期的,没有用户界面的程序,可以用来开发如监控类程序。

比较好的一个例子就是一个正在从播放列表中播放歌曲的媒体播放器。

在一个媒体播放器的应用中,应该会有多个activity,让使用者可以选择歌曲并播放歌曲。

然而,音乐重放这个功能并没有对应的activity,因为使用者当然会认为在导航到其它屏幕时音乐应该还在播放的。

在这个例子中,媒体播放器这个activity会使用Context.startService()来启动一个service,从而可以在后台保持音乐的播放。

同时,系统也将保持这个service一直执行,直到这个service运行结束。

另外,我们还可以通过使用Context.bindService()方法,连接到一个service上(如果这个service还没有运行将启动它)。

当连接到一个service之后,我们还可以service提供的接口与它进行通讯。

拿媒体播放器这个例子来说,我们还可以进行暂停、重播等操作。

Service使用步骤如下:

1.继承service类

2.AndroidManifast.xml配置清单文件中节点里对服务进行配置

3.ContentProviderAndroid平台提供了ContentProvider使一个应用程序的指定数据集提供给其他应用程序。

这些数据可以存储在文件系统中、在一个SQLite数据库、或以任何其他合理的方式,其他应用可以通过ContentResolver类(见ContentProviderAccessApp例子)从该内容提供者中获取或存入数据.(相当于在应用外包了一层壳),

只有需要在多个应用程序间共享数据是才需要内容提供者。

例如,通讯录数据被多个应用程序使用,且必须存储在一个内容提供者中,它的好处:

统一数据访问方式。

4.BroadcastReceive你的应用可以使用它对外部事件进行过滤只对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应。

广播接收器没有用户界面。

然而,它们可以启动一个activity或serice来响应它们收到的信息,或者用NotificationManager来通知用户。

通知可以用很多种方式来吸引用户的注意力──闪动背灯、震动、播放声音等。

一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。

广播类型:

普通广播,通过Context.sendBroadcast(IntentmyIntent)发送的

有序广播,通过Context.sendOrderedBroadcast(intent,receiverPermission)发送的

2.3Android中的相关技术介绍及分析

2.3.1Android系统架构研究

Android是一个包含操作系统、中介架构层及应用程序所产生出来的软件堆栈架构。

由下而上,其核心为嵌入式Linux2.6作业系统,向上搭配Google为Android开发的类库及Android运行时,再配合应用程序架构,来开发各种不同的应用程序。

下面介绍几个本系统开发所用到的功能特征。

(1)应用程序架构:

在应用程序架构内已经具备多种不同的基础组件,在开发应用程序时,就可以直接调用这些组件来使用,可以节省开发应用程序的心力及时间。

(2)Dalvik虚拟机器:

在Android平台上所使用Java虚拟机,不是Sim公司的标准Java虚拟机,而是使用Google自主开发的代号为Dalvik的虚拟机,它在保证API方面的兼容的同时,针对移动手机进行了大幅优化,占用资源更小,运行效率更高。

(3)SQLite数据库:

SQLite提供结构化的数据存取。

SQLite是一款轻型的数据库,它的设计目标是嵌入式的,目前已经在很多嵌入式产品中使用了它,它占用的资源非常低。

它能够支持Windows/Linux/Unix等主流的操作系统,同时能够跟很多程序语言相结合,比如PHP,Java等,还有ODBC接口,同样比起Mysql,PostgreSQL来讲,它的处理速度比它们都快。

它无需安装和管理配置,它是一个储存在单一磁盘文件中的完整数据库,体积小只有250KB但支持数据库大小至2TB。

它虽然很小巧,但是支持的SQL语句毫不逊色于其它开源数据库。

同时它还支持事务功能和并发处理等等。

SQLite也是一套开放性的关联式资料库,其特点在于轻量性方面的设计结构,更适合在手机上使用。

2.3.2Android架构分析

Android的架构包括5个部分:

应用程序、应用程序框架、程序库、Android运行库及Linux内核。

架构如图2-1所示:

 

图2-1Android架构的五个部分

2.3.3Android应用程序架构

在AndroidSDK中,定义了让开发者使用与核心应用程序相同API的权限应用程序框架是为了要简化组件的重新利用而设计的,应用程序可以发布功能为其它应用程序所使用。

但是,这要受限于应用程序架构的安全机制,使用者以用同样的机制来新增、置换组件。

目前所有的应用程序是由服务及系统来组成。

Android应用构成和工作流程图如图2-2所示:

图2-2Android应用构成和工作流程图

2.3.4Android运行时组件

虽然Android是用Java语言来开发、撰写应用程序,但却不使用Java运行时组件来执行Java程序,而是使用了由Google自行研发的Android运行时组件来执行程序。

Android运行时组件包括两个重要的部分,一个是核心类库,另一个是Dalvik虚拟机。

2.3.5Android应用的构成和工作机制

对于一个Android应用程序来说,是由Activity、IntentReceiver、Service、ContentProvider四部分组成,但并不是每一个Android应用程序都必须由这四部分组成。

在应用程序中使用时,需要在配置文件AndroidManifest.xml中进行配置。

这个配置文件是每个Android应用程序所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。

2.4Eclipse简介

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。

虽然大多数用户很乐于将Eclipse当作Java集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此。

Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。

由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

这种平等和一致性并不仅限于Java开发工具。

尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++和COBOL等编程语言的插件已经可用,或预计将会推出。

Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。

2.5XML简介

XML是指可扩展标记语言(EXtensibleMakeupLanguage),是用来传输和存储数据的工具。

XML数据是一种纯文本格式存储的数据,它提供了一种独立软件和硬件的数据存储方法。

XML文档必须包含根元素,该元素是所有其它根元素的父元素。

XML文档中的元素形成了一棵文档树。

这棵树从根部开始,并扩展到树的最底端。

所有元素均可拥有子元素。

父、子以及同胞等术语用于描述元素之间的关系。

父元素拥有子元素。

相同层级上的子元素成为同胞(兄弟或姐妹)。

所有元素均可拥有文本内容和属性。

XML是大小写敏感的语言,所有元素都必须正确嵌套,必须有关闭标签,元素的属性值必须加引号。

XML的命名规则:

元素名称可以使用任何字母或符号(除<&),没有保留字;元素名称不能以数字或标点和‘XML’‘xml’‘Xml’字符开始,也不能包含空格

 

3需求分析

课程管理包括:

运行首页课程信息的显示。

这是面向用户的一个Activity,在此用户可以方便地查看本周的课程情况。

除此之外,是课程信息管理。

用户可以添加,删除,修改课程信息,设置上课时间。

3.1系统需求分析

手机电子课程管理在手机应用程序中并不常见,一般在手机上较为常见的日程提醒程序无法实现自由设置课程信息。

经过对周边同学的调查研究,普遍认为这款软件方便实用,其主要功能如下:

课程的添加、删除和修改;

每节课程上课时间段的设置;

每周课程预览;

课程具体信息预览;

3.2系统流程

根据课程管理的特点,将课程管理分为首页的课程信息预览,作业内容预览,作业的增加与修改,课程添加,上课时间设置。

可以通过点击MENU按钮添加课程、设置课程时间、查看本程序的关于信息、退出程序。

添加完课程信息,设置好上课时间之后,在进入程序的第一个Activity将当前一周的课程信息显示出来,点击课程信息,可以进行添加、修改、删除。

3.3功能模块划分

根据程序的设计,将程序分成3个模块。

课程添加、课程设置的添加和修改。

每个模块都有对应的功能及相关工作。

3.3.1课程添加模块

该模块实现了如下几个功能:

1、添加课程信息;

2、添加上课地点;

3、设定课程在星期几上课;

4、设定课程是当天的第几节课。

该模块实现课程的添加工作,可以将课程的名称、上课地点、上课时间、课程节数添加到数据库中。

4系统设计

4.1概要分析

从程序流程来分,用户在第一次进入程序时要进入设置界面,设置一些基本的配置信息以方便数据库管理,然后进入添加课程界面,进行添加课程操作。

添加课程除了UI展示以外其他的方式都是在操作数据库,在程序中使用SQLite以实现程序的各种功能。

在程序主界面使用用Listview控件展示记录,从数据表中按当天是星期几读取出当天的记录,从而将课程的信息显示在主页面上,提供预览。

程序的配置信息主要存在preference中,该信息在数据显示时读取必要的配置信息。

4.2数据库分析

本程序数据存取方面主要用到了SQLite数据库和Preference存储机制。

其中,SQLite主要用来存储课程信息,Preference则主要用来存储配置信息。

4.2.1SQLite数据表设计

SQLite数据库是Android系统中非常重要的数据存储方法,它是Android系统唯一支持的数据库类型,也是Android应用程序进行持久化存储的三种方式之一。

SQLite数据库是SQL数据库的简化版,支持大部分SQL操作。

SQLite是Android应用程序中非常常用的一种数据存储手段。

(1)数据库表的设计

根据对本程序的需求分析,本程序一共需要用到两张数据表,分别为classinfo表和classtime表。

classinfo表主要用来存储已经添加的课程,用户每添加一个课程就会在该表中新增一条记录,并且自动生成一个唯一的id,用以区别各个课程,同样名称但是分成两次添加的课程会被认为是不同的课程,这样设计的目的主要是为了方便查询。

该表结构设计如下:

表4-1

字段名称

数据类型

是否主键

说明

CLASS_ID

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 教育学心理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1