郑州大学毕业设计(论文)
题目:基于Android系统的课程管理系统
指导教师: 职称:
学生姓名: 学号: 专 业: 院(系): 完成时间:
我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
2012年 5 月 24 日
毕业设计(论文)任务书
附表一 题目来源:协商拟定 课题名称 设计人姓名 基于Android系统的课程管理系统 学号 指导教师姓名、职称 专业班级 指导时间/地点 一、 设计(论文)内容 根据课程管理的需求设计的研究,其主要功能如下: 1.课程的添加、删除和修改 2.课程作业的添加、交作业的时间查看 3.每节课程上课时间段的设置 4.每周的课程预览 5.课程的信息预览 二、设计(论文)的主要技术指标 1.Eclipse 开发平台 Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。本程序的开发安装了Android SDK插件 2.Java Android的开发是使用Java语言进行开发的 3.Xml 布局使用xml语法规则 4.数据库 本程序数据存取方面主要用到了SQLite数据库和Preference存储机制。其中,SQLite主要用来存储课程信息,Preference则主要用来存储配置信息 三、进度安排 第1周 与导师联系明确毕业设计工作的安排 第2-4周 熟悉相应的开发工具,项目需求及项目现状,翻译5000字文献 第5-9周 完成既定项目中的基本类型设计与实现其中第六周交上第一次中期检查表 第10周 查阅相关文献资料,学习实现部分源码 第11周 第二次中期检查,完成设计代码 第12-13周 准备毕业论文 第14-15周 提交毕业论文初稿,与指导老师讨论并修改论文 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
四、毕业设计(论文)提交的文档及基本要求 1.毕业论文一份(包含封皮、目录、中英文摘要、内容及参考文献) 2.不少于5000汉字的科技翻译资料一份 3、毕业论文简介(A4纸1~2页)(包含题目、专业、年级、姓名、指导教师、毕业论文所做的工作、解决的问题、创新之处等) 4.毕业设计任务书 5.开题报告 6.毕业设计工作中期检查表 此表指导教师填后、复印,指导教师、学生各保存一份,交院教学办一份 毕业设计(论文)开题报告
附表二 课题名称 学生姓名 基于Android系统的课程管理系统 学号 一、选题的目的意义 由于大学里上课教室不定,每次上课时总有许多同学在上课的路上才想到不知道在哪个教室上课,于是不得不每次拿出手机打电话花两毛钱问同学,或者一些同学一直装个纸质的课程表在衣袋里,极不方便。现在Android手机在大学中的普及率很高,于是我就想到了创作一个Android版的课程管理。将课程表放进手机里,只需大家需要按照具体时间、课程名称等将自己的课程信息录入到系统中,为一周的每一天添加下课程安排,就可以一劳永逸。不用担心忘了明天上什么课了,也不用担心走在路上突然忘了一会儿上什么课,随时随地,方便快捷。 二、国内外研究综述 无忧课程管理是基于Android平台的个人服务软件,将前沿技术与现实生活完美结合,带给您全新的体验,可以让您随时随地的查看您当天的课程。支持基于Android平台的手持终端设备。而中国有3000万大学生,这是一块大市场!另一方面,智能手机迟早会在大学里普及。上一次互联网从这里征服世界,名字叫Facebook。那么,再一次征服,多半出现在手机上。无忧课程管理特色鲜明,主要面向大中专学生,用户基础大,发展空间广阔,在产业化上有很好的前景。 三、毕业设计(论文)所用的方法 Android的开发环境在操作系统上并没有太大的,它可以使用Windows XP及其以上版本、MAC OS、Linux等操作系统,在该程序的开发中,我选择了Windows 7作为开发操作系统。Android是以Java语言作为开发语言,官方推荐使用Eclipse作为开发软件,在搭建开发环境前必须准备JDK、Eclipse、Android SDK三个软件,JDK与Eclipse都可以在其官方网站上下载到其最新版本,Android SDK则需要通过Android SDK Setup来下载安装。 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
四、主要参考文献与资料获得情况 [1]Jerome(J.F.)DiMarzio.Android程序员指南[M].USA:McGraw-Hill公司, 2008. [2] 张仕成. 基于Google Android平台的应用程序开发与研究[J].电脑知识与技术.2009. [3]靳岩,姚尚朗.Google Android开发入门与实践[M].北京:人民邮电出版社, 2009. [4]杨丰盛.Android应用开发揭秘[M].北京:机械工业出版社,2010. [5] Jeff Friesen.Learn Java for Android Development[M].USA:Apress.2010. [6] Marziah Karch.Android for work:productivity dor professionals[M].USA: Apress.2010. [7] 财经日报.二月份谷歌Android移动市场占有率33%扩大优势 [EB/OL].http:// www.businesstimes.com.hk/a-20110405-1137/uygtr 五、指导教师审批意见 签字: 年 月 日 毕业设计工作中期检查Ⅰ
附表三 2011年 3 月 26日 课题名称 姓 名 基于Android系统的课程管理系统 专业和班级 指导教师 一、 毕业设计具体内容、目标和可能遇到的问题 毕业设计的具体内容: 在Android平台上实现一个课程管理程序,该程序可以帮助学生添加每周课程信息,并且在下课之后增加该课程的作业和交作业的时间,方便记忆,进入主界面就能预览每周的课程信息和作业情况。 毕业设计的目标: 实现需求分析中的各项功能需求,通过具体的项目开发熟练掌握Android的知识 可能遇到的问题 由于对Android接触时间不长,刚开始编写代码有一定难度。开发环境的搭建。以及要用到的Android开发包中自带的SQLite数据库,都不太了解,需要查阅资料熟悉相关知识。 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
二、采取的研究方法、技术路线、实验方案及可行性分析 研究方法: 文献研究法,参考一系列跟课题相关的文献来获得相关资料 试验法,通过在开发平台上编写调试代码达到设计的实现 技术路线: Java,XML布局,SQLite 实验方案: 在写完项目的需求分之后进行相关功能的代码编写,通过在创建的Android虚拟机上运行来查看代码运行得到的结果并进行修改 可行性分析: 课程管理在手机应用程序中并不常见,一般在手机上较为常见的日程提醒程序无法实现自由设置课程以及相关作业,经过对周边同学的调查研究,普遍认为这样的软件方便实用 三、指导教师对学生出勤、文献阅读等方面的评语 签字: 年 月 日 此表学生填写,指导教师给出评语后,复印件于第五周交院教学办公室。
毕业设计工作中期检查Ⅱ
附表四 2011 年 4月 28 日 课题名称 姓 名 基于Android系统的课程管理系统 专业和班级 指导教师 一、 阶段性结果 1.查阅了大量的相关书籍,了解了Android上做项目的流程,对自己的设计流程有一定的把握 2.完成了数据库的建立 3.基本上完成了项目需求分析中的多数功能,如课程添加和修改,作业的修改 4.可以在虚拟机上运行实现 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
二、存在的问题 1.主屏中的菜单键里面的“退出”项不能退出整个程序,只能结束当前的Activity 2.课程列表里面点击相应课程之后再继续点击“增加”按钮会导致程序出现错误,强制性关闭 3.在作业的添加跟课程的修改页面完成相应的操作之后点击“修改”也会导致程序出先错误,强制性关 三、后一步工作设想 1.测试并修改代码,解决尚未解决的问题 2.完善代码程序,确定最后版本 3.开始着手毕业论文的编写 四、指导教师对学生出勤、论文进展方面的评语 签字: 年 月 日 指导教师组织学生口头汇报后,学生填写该表,教师给出评语后,于第十周交院教学办公室。
我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
基于Android系统的课程管理系统
摘要:
随着无线移动设备的发展,手机也日益普及,Android系统的推出使手机的发展进入到了一个新的领域。世界上一些知名的移动设备生产厂商对于Android智能机的开发热情也日益提高,Android系统的使用人群正在急速提升,Android应用程序的多样化对人们快速获取资讯以及方便人们的生活起着不可忽视的作用,近年来Android得到了社会更多的认同和应用,本文主要概述了Android系统的体系结构,Android应用程序的开发环境和用JAVA语言开发基于Android系统的课程管理系统中的一些技术实现方法,这些技术包括:基于Android系统的课程管理系统的用户界面设计,Service的使用,SQLite数据库的建立和存储[9]。在系统的设计与实现中,确定系统的开发思想以及开发环境。最后给出了系统中模块的详细设计与实现,并对系统模块涉及到的关键源代码进行了详细的分析。笔者将在文中对各个技术要点进行具体的阐述。经过调试运行后表明,系统可以满足用户的各项要求。
关键词:Android,JAVA,SQLite,课程管理
ABSTRACT:
With the development of wireless mobile devices, mobile phones have been increasingly
我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
popular, and the introduction of Android system has promoted the development of phones into a new area. Some of the world’s leading mobile device manufacturers have also shown great enthusiasm for the exploitation of Android intelligent machines. Beside, diversified Android application programs play a significant role in people’s quick access to information and facilitation of people's life. Therefore, customers of this system are rapidly increasing In recent years. This paper outlines the architecture of Android system, its development environment and some technical implementation of Class management system on android system based on JAVA language. These technologies include the design of user interface of Class management system on android system, system calls of API, and establishment and storage of SQLite database. During the design and realization of the system, making sure the development thought of the system, at last show the design details with realize finally an a key for of detailed design with realization, and analyzed the program which relate to the system module The author will elaborate each technological point specifically in this paper.
After debugging and running, it shows that the system can satisfy with users to buy the things they need.
Keywords: Android,JAVA,SQLite,Class manage
我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
目 录
第1章 绪论................................................. 1
1.1 什么是电子课程管理 ............................................... 1 1.2 系统开发的背景 ................................................... 1 1.3 本文主要工作 ..................................................... 1 1.4 系统设计目标分析 ................................................. 2
第2章 基本技术方案 ......................................... 3
2.1 ANDROID概述 ...................................................... 3 2.2 ANDROID系统的四大组件 ............................................ 3 2.3 ANDROID中的相关技术介绍及分析 .................................... 5 2.3.1 Android系统架构研究 .......................................... 5 2.3.2 Android架构分析 .............................................. 6 2.3.3 Android应用程序架构 .......................................... 7 2.3.4 Android运行时组件 ............................................ 8 2.3.5 Android应用的构成和工作机制 .................................. 8 2.4 ECLIPSE简介 ...................................................... 8 2.5 XML简介 ......................................................... 9
第3章 系统分析 ............................................ 10
3.1 系统需求分析 .................................................... 10 3.2 系统流程 ........................................................ 10 3.3 功能模块划分 .................................................... 11 3.3.1课程添加模块 ................................................. 11 3.3.2 程序设置模块 ................................................ 11 3.3.3 作业功能模块 ................................................ 12
第4章 系统总体设计 ........................................ 13
4.1 概要分析 ........................................................ 13 4.2 数据库分析 ...................................................... 13 4.2.1 SQLite数据表设计 ............................................ 13 4.3 程序中的主要类 .................................................. 15 4.3.1 GalleryTabActivity类和ClassListActivity类 ....................... 15 4.3.2 ClassAddActivity类和SettingActivity类 .......................... 16
我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
4.3.3 SQLiteHelper类和SQLClassTime类 ............................ 16 4.3.4 HomeworkActivity类和SettingActivity类 ......................... 16
第5章 系统功能的具体实现 .................................. 18
5.1程序首页面 ...................................................... 18 5.2 课程设置实现 .................................................... 18 5.3课程添加实现 .................................................... 19 5.4 关于 ............................................................ 205.5作业功能实现 .................................................... 20结论 ................................................................ 22参考文献 ............................................................ 23致 谢 .............................................................. 24
我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
第1章 绪论
1.1 什么是电子课程管理
对于课程管理,相信大家都不会感到陌生,课程管理即是帮助老师和学生管理课程,最早以纸质的方式存在,随着科技的发展,电子课程管理也出现在了手机上,更方便的为人们管理课程,记录课程的相关信息。
1.2 系统开发的背景
在中国,手机已经成为人们日常生活必不可少的一部分,智能手机在高校人群中逐渐得到了普及,Android手机凭借其优秀的系统性能以及良好的用户体验迅速得到了大学学生的青睐。在高校中,上课并不像高中时期有固定的教室和固定的时间,大学课程种类繁多,并且上课地点和时间都不固定,一周内极少会出现重复课程,所以要将课程表完整的记忆下来是一项很艰难的事情,每次上课时总有许多同学在上课的路上才想到不知道在哪个教室上课,于是不得不每次拿出手机打电话花两毛钱问同学,或者一些同学一直装个纸质的课程表在衣袋里,极不方便。鉴于Android手机在大学中的普及率很高,于是我就想到了创作一个Android版的课程管理程序。将课程表放进手机里,只需大家需要按照具体时间、课程名称等将自己的课程信息录入到系统中,为一周的每一天添加下课程安排,就可以一劳永逸。不用担心忘了明天上什么课了,也不用担心走在路上突然忘了一会儿上什么课,随时随地,方便快捷。
基于这些问题,有必要设计一款具有课程管理程序,配合上可以让用户自定义上课时间以及地点的功能,从而避免遗忘上课的事情出现。
1.3 本文主要工作
在Eclipse开发环境下,运用Java语言和Android的SDK开发一款课程管理软件。本软件除了可以及时的显示课程信息外,还可以增加更详细的上课地点及上课时间,还有对课后的课程作业增加到该课程信息中去。本系统可以在Android模拟器上运行,取得了很好的运行效果。
我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
1.4 系统设计目标分析
本系统是用Android实现的一个课程管理软件,通过对一些学生需求的考察、分析,要求本软件具有以下功能:
1、简洁操作界面,能保证系统的易用性; 2、课程的添加、删除和修改;
3、课程作业的添加、交作业的时间查看; 4、每节课程上课时间段的设置; 5、每周的课程预览; 6、课程的信息预览。
我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福
第2章 基本技术方案
2.1 Android概述
Android来源于硅谷著名的“极客”Andy Rubin建立的Android公司,Rubin的最初目标是想把Android打造成一个可以对任何软件设计人员开放的移动终端平台。很快这个公司便得到了青睐,很多人表示打算买下他的公司。Rubin想Google的创始人之一拉里·佩奇提出合伙的意向后,Google就抢先把他的公司买下。并于2007年11月5日宣布与包括摩托罗拉、HTC、LG、三星等33家手机厂商、手机芯片提供商、软硬件供货商、移动运营商联合组成开放手机联盟(Open Handset Alliance),并发布了名为Android的开放手机软件平台[7]。
与其他手机操作系统相比,Android有4个无可比拟的优点:
开放性:Android系统同时包含了底层操作系统以及移动电话所需的全部软件,不存在专有权障碍,开发平台允许任何移动终端厂商加入到Android联盟中来,并允许不同厂商可以根据自己的需求对平台进行定制和扩展,无需任何授权许可费用;
所有应用程序平等:Android系统中,系统核心应用和第三方应用都是完全平等的,用户可以将手机中的任意应用程序替换成所需的其他应用程序;
应用程序间无界限:开发人员可以吧Web上的数据与本地的日历、联系人、位置信息结合起来,应用程序还可声明它们可供其他程序使用;
快速方便的应用程序开发:Android平台为开发人员提供了大量的实用库及工具,可以让开发人员快速的创建自己的应用[3]。
2.2 Android系统的四大组件
Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,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(Intent myIntent)方法。然后,系统会在所有安装的应用程序中定义的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配置清单文件中 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 Android平台提供了Content Provider使一个应用程序的指定数据集提供给其他应用程序。这些数据可以存储在文件系统中、在一个SQLite数据库、或以任何其他合理的方式,其他应用可以通过ContentResolver类(见ContentProviderAccessApp例子)从该内容提供者中获取或存入数据.(相当于在应用外包了一层壳), 只有需要在多个应用程序间共享数据是才需要内容提供者。例如,通讯录数据被多个应用程序使用,且必须存储在一个内容提供者中,它的好处:统一数据访问方式。 (4)BroadcastReceive 你的应用可以使用它对外部事件进行过滤只对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应。广播接收器没有用户界面。然而,它们可以启动一个activity或serice 来响应它们收到的信息,或者用NotificationManager 来通知用户。通知可以用很多种方式来吸引用户的注意力──闪动背灯、震动、播放声音等。一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。 广播类型: 普通广播,通过Context.sendBroadcast(Intent myIntent)发送的 有序广播,通过Context.sendOrderedBroadcast(intent, receiverPermission)发送的 2.3 Android中的相关技术介绍及分析 2.3.1 Android系统架构研究 Android是一个包含操作系统、中介架构层及应用程序所产生出来的软件堆栈架构。由下而上,其核心为嵌入式Linux2.6作业系统,向上搭配Google为Android开发的类库及Android运行时,再配合应用程序架构,来开发各种不同的应用程序。下面介绍几个本系统开发所用到的功能特征。 (1)应用程序架构:在应用程序架构内已经具备多种不同的基础组件,在开发应用程序时,就可以直接调用这些组件来使用,可以节省开发应用程序的心力及时间。 (2)Dalvik虚拟机器:在Android平台上所使用Java虚拟机,不是Sim公司的 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 标准Java虚拟机,而是使用Google自主开发的代号为Dalvik的虚拟机,它在保证API方面的兼容的同时,针对移动手机进行了大幅优化,占用资源更小,运行效率更高。 (3)SQLite数据库:SQLite提供结构化的数据存取。SQLite是一款轻型的数据库,它的设计目标是嵌入式的,目前已经在很多嵌入式产品中使用了它,它占用的资源非常低。它能够支持Windows/Linux/U nix等主流的操作系统,同时能够跟很多程序语言相结合,比如PHP,Java等,还有ODBC接口,同样比起Mysql,PostgreSQL来讲,它的处理速度比它们都快。它无需安装和管理配置,它是一个储存在单一磁盘文件中的完整数据库,体积小只有250KB但支持数据库大小至2TB。它虽然很小巧,但是支持的SQL语句毫不逊色于其它开源数据库。同时它还支持事务功能和并发处理等等。SQLite也是一套开放性的关联式资料库,其特点在于轻量性方面的设计结构,更适合在手机上使用。 2.3.2 Android架构分析 Android的架构包括5个部分:应用程序、应用程序框架、程序库、Android运 行库及Linux内核。架构如图2-1所示: 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 图2-1 Android架构的五个部分 2.3.3 Android应用程序架构 在Android SDK中,定义了让开发者使用与核心应用程序相同API的权限应用程序框架是为了要简化组件的重新利用而设计的,应用程序可以发布功能为其它应用程序所使用。但是,这要受限于应用程序架构的安全机制,使用者以用同样的机制来新增、置换组件。目前所有的应用程序是由服务及系统来组成。Android应用构成和工作流 程图如图2-2所示: IntentContentProviderActivityIntentReceiver外部事件ActivityBinder存储设备Service 图2-2 Android应用构成和工作流程图 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 2.3.4 Android运行时组件 虽然Android是用Java语言来开发、撰写应用程序,但却不使用Java运行时组件来执行Java程序,而是使用了由Google自行研发的Android运行时组件来执行程序。Android运行时组件包括两个重要的部分,一个是核心类库,另一个是Dalvik虚拟机。 2.3.5 Android应用的构成和工作机制 对于一个Android应用程序来说,是由Activity、IntentReceiver、Service、Content Provider四部分组成,但并不是每一个Android应用程序都必须由这四部分组成。在应用程序中使用时,需要在配置文件AndroidManifest.xml中进行配置。这个配置文件是每个Android应用程序所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。 2.4 Eclipse简介 Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。 虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C++ 和 COBOL 等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 2.5 XML简介 XML是指可扩展标记语言(EXtensible Makeup Language),是用来传输和存储数据的工具。XML数据是一种纯文本格式存储的数据,它提供了一种软件和硬件的数据存储方法。 XML文档必须包含根元素,该元素是所有其它根元素的父元素。XML 文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端。所有元素均可拥有子元素。父、子以及同胞等术语用于描述元素之间的关系。父元素拥有子元素。相同层级上的子元素成为同胞(兄弟或姐妹)。所有元素均可拥有文本内容和属性。 XML是大小写敏感的语言,所有元素都必须正确嵌套,必须有关闭标签,元素的属性值必须加引号。 XML的命名规则:元素名称可以使用任何字母或符号(除< &),没有保留字;元素名称不能以数字或标点和‘XML’‘xml’‘Xml’字符开始,也不能包含空格。 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 第3章 系统分析 无忧课程管理包括:运行首页课程信息的显示跟具体作业信息情况的显示。这是面向用户的一个Activity,在此用户可以方便地查看本周的课程情况及课后的作业情况。除此之外,是课程信息管理。用户可以添加,删除,修改课程信息和作业信息,设置上课时间。 3.1 系统需求分析 手机电子课程管理在手机应用程序中并不常见,一般在手机上较为常见的日程提醒程序无法实现自由设置课程信息。 经过对周边同学的调查研究,普遍认为这款软件方便实用,其主要功能如下: 课程的添加、删除和修改; 课程作业的添加、交作业的时间查看; 每节课程上课时间段的设置; 每周课程预览; 课程具体信息预览; 3.2 系统流程 根据课程管理的特点,将课程管理分为首页的课程信息预览,作业内容预览,作业的增加与修改,课程添加,上课时间设置。流程图如图3-1所示: 首页面Menu点击修改按钮增加设置关于退出课程列表增加,修改点击增加按钮增加上课时间,课程名称,上课地点设置上课时间清空所有课程版权信息退出程序点击清空按钮添加,修改作业设置10节课的上课时间点击确定按钮 图3-1程序流程图 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 该程序的流程就如图所示,用户进入程序后,可以通过点击MENU按钮添加课程、设置课程时间、查看本程序的关于信息、退出程序。添加完课程信息,设置好上课时间之后,在进入程序的第一个Activity将当前一周的课程信息及作业信息显示出来,点击课程信息,可以对作业信息进行添加、修改、删除。 3.3 功能模块划分 根据程序的设计,将程序分成3个模块。课程添加、课程设置、作业的添加和修改。每个模块都有对应的功能及相关工作。如图3-2所示: 程序主页面课程添加课程设置作业管理 图3-2功能模块表示图 3.3.1课程添加模块 该模块实现了如下几个功能: 1、添加课程信息; 2、添加上课地点; 3、设定课程在星期几上课; 4、设定课程是当天的第几节课。 该模块实现课程的添加工作,可以将课程的名称、上课地点、上课时间、课程节数添加到数据库中。 3.3.2 程序设置模块 设置模块里面设计了两项内容,设置可以设置每天十节课的上课时间段,设置清空上一周的所有课程信息。 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 3.3.3 作业功能模块 在预览界面点击具体一节课程的信息,就可以对作业信息进行添加、修改及删除: 1、在上完课后添加作业信息; 2、如果作业需要修改,再次点击,则可以对作业进行修改; 3、在课后如果作业完成后就可以删除作业内容,从而删除作业; 4、可以设置作业的截至时间。 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 第4章 系统总体设计 4.1 概要分析 从程序流程来分,用户在第一次进入程序时要进入设置界面,设置一些基本的配置信息以方便数据库管理,然后进入添加课程界面,进行添加课程操作。添加课程除了UI展示以外其他的方式都是在操作数据库,在程序中使用SQLite以实现程序的各种功能。在程序主界面使用用Listview控件展示记录,从数据表中按当天是星期几读取出当天的记录,从而将课程的信息显示在主页面上,提供预览。 程序的配置信息主要存在preference中,该信息在数据显示时读取必要的配置信息。 4.2 数据库分析 本程序数据存取方面主要用到了SQLite数据库和Preference存储机制。其中,SQLite主要用来存储课程信息,Preference则主要用来存储配置信息。 4.2.1 SQLite数据表设计 SQLite数据库是Android系统中非常重要的数据存储方法,它是Android系统唯一支持的数据库类型,也是Android应用程序进行持久化存储的三种方式之一。 SQLite数据库是SQL数据库的简化版,支持大部分SQL操作。SQLite是Android应用程序中非常常用的一种数据存储手段。[4] (1)数据库表的设计 根据对本程序的需求分析,本程序一共需要用到两张数据表,分别为classinfo表和classtime表。 classinfo表主要用来存储已经添加的课程,用户每添加一个课程就会在该表中新增一条记录,并且自动生成一个唯一的id,用以区别各个课程,同样名称但是分成两次添加的课程会被认为是不同的课程,这样设计的目的主要是为了方便查询。该表结构设计如下: 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 字段名称 CLASS_ID CLASS_NAME CLASS_ADRESS CLASS_NUM CLASS_WD CLASS_HW CLASS_DL 数据类型 INTEGER 文本 文本 INTEGER INTEGER 文本 DATE 是否主键 是 否 否 否 否 否 否 说明 课程编号 课程名称 上课地点 课程节数 课程所在星期 课程作业 作业截止时间 课程信息E-R图如图4-1所示: 课程节数 上课地点 课程星期 作业 课程名称 截止时间 课程编号 课程信息 图4-1软件运行主界面 该数据库设计初衷为保存整个星期的课程,这样实现整个星期的课程排布,包括数据的存储,课程查看都比较方便。 (2)SQLite数据库的创建 创建数据库主要用到了DataBaseHelper类,该类继承了SQLiteOpenHelper类,实现了数据库、数据表的创建。具体方法如下: private static class DatabaseHelper extends SQLiteOpenHelper { DataBaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 { } @Override public void onCreate(SQLiteDatabase db) { } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) db.execSQL(DATABASE_CREATE); } db.execSQL(\"DROP TABLE IF EXISTS classinfo\"); onCreate(db); //在databasehelper的构造函数中调用父类构造函数,传入数据库名,创建数 据库 4.3 程序中的主要类 4.3.1 GalleryTabActivity类和ClassListActivity类 该类为整个应用的主Activity, 显示课程表的主界面[2]。其主要方法如下: onCreate:Activity主要重写方法之一,实现程序初始化和UI展示; onResume:Activity重写方法之一,实现在唤醒Activity时刷新界面; onCreateOptionMenu:实现Option菜单的创建; onOptionMenuItemSeleted:实现菜单项的点击事件响应; ImageAdapter:结合gallery控件来实现主界面中的星期列表的循环显示; onListItemClick:在课程显示列表中实现点击相应列表实现作业Dialog的显 示; 界面设计方面通过RelativeLayout实现布局,使用了TextView,ImageButton课程列表通过ListView实现UI展示。该类通过继承BaseAdapter还实现了一个名为ImageAdapter的内部类,用来显示ListView中的数据并实现对ListView上ImageView控件点击的统一响应 [5]。 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 4.3.2 ClassAddActivity类和SettingActivity类 AddClass类为实现添加课程界面的Activity,主要实现由用户选择和输入课程信息,并将所有的课程信息添加到数据库中。主要方法如下: onCreate: 初始化UI控件; onItemSelectedd:设置初始化时默认的数据; SaveData: 将添加的课程保存进数据库中; gettimeString:将输入的课程信息转换成对应的时间字符串返回; AddPlan:类实现添加计划界面,并将添加的数据存入Preference中。主要 方法如下: onCreate: 实现初始化UI控件; onClick:实现button点击事件的响应; setPlan:实现添加计划到preference中; 4.3.3 SQLiteHelper类和SQLClassTime类 该类为自定义的重要的数据库处理类,用来管理数据库,对数据库的所有操作都封装在这个类中,实现数据封装。将数据操作和UI操作隔离开来。主要方法如下: AddClass:给class表添加记录; db.insert(CLASS_TABLE, null, values);//insert方法插入一条数据 deleteClass:删除一条class记录; db.delete(CLASS_TABLE, \"_id = \" + classid, null);//delete方法删除一条数据 deleteAll:实现清空所有课程信息的方法,清除classinfo表中的所有数据 4.3.4 HomeworkActivity类和SettingActivity类 该类实现作业相关内容,添加作业,修改作业的功能,能添加作业内容, 间相等时,弹出提示信息,并播放音乐,实现提醒功能。主要方法如下: onCreate: 初始化UI控件; prepareViews:设置作业界面的界面VIEW,Button,EditText,及节数和星期几的下拉列表: 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 private void prepareViews() { add = (Button) findViewById (R.id.add_ahl); cancel = (Button) findViewById (R.id.cancel_ahl); dateChoosen = (Button) findViewById (R.id.btn_date_choosen_ahl); nameET = (EditText) findViewById (R.id.class_name_ahl); timeSp = (Spinner) findViewById (R.id.time_spinner_ahl); homeworkET = (EditText) findViewById(R.id.homework_content_ahl); } 以下代码得到是设定节数下拉列表的功能,现举例实现节数下拉列表功能的实现: for (int i = 1; i <= 10; i++) { } final String[] time = new String[c]; c = 0; for (int i = 1; i <= 10; i++) { ClassTimeModel model = sql.getClassById(i + \"\"); if (model.getStart() > 0) { } } time[c++] = \"第\" + i + \"节\" + \" \" + ClassTimeSetting.format(Math.max(model.getStart(), model.getEnd())); ClassTimeModel model = sql.getClassById(i + \"\"); if (model.getStart() > 0) c++; 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 第5章 系统功能的具体实现 5.1程序首页面 在完成系统设计以后,即可在Android虚拟机中运行程序。进入程序的后,程序会自动跳到当天的页面,让你更方便的查看当天的课程。主界面如图5-1所示: 图5-1软件运行主界面 5.2 课程设置实现 软件设置界面,该界面为用户设置的界面,往后的使用中,用户可以通过“Menu”→“设置”的操作步骤来进入该界面。在此界面,用户可以设置程序,有两个按钮,点击设置,设置每天1-10节课的上课时间。点击清空,清空整个星期的课程。 点击设置按钮可以进入设置课程时间,可以设置第一节课到第十节课的时间如图5-3所示: 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 图5-3上课时间设置界面 5.3课程添加实现 添加课程界面,用户可以通过“Menu”→“增加”的操作步骤来进入该界面。在这个界面上,用户可以添加课程名称,上课地点及上课时间和具体节数。如图5-4所示: 图5-4 增加课程界面 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 5.4 关于 关于界面,该界面通过“Menu”→“关于”操作进入,在该界面用户可以看到有关本软件的版权信息。 5.5作业功能实现 在主界面点击课程信息列表相应的课程,能查看课程的作业具体信息。如果没有添加作业,就会显示增加按钮,如果已经设置作业,则会显示修改按钮。如图5-5所示: 图5-5 作业详情显示 点击增加之后就会进入作业添加的界面,可添加作业内容,并设置作业的截至时 间,确定之后点击修改。如图5-6所示: 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 图5-6 作业添加页面 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 结论 经过了一个学期的努力,指导老师的帮助下,该程序设计与实现基本完成。本设计的开发是基于Android平台上的,由于在以前没有接触过多关于这方面的知识,这次设计是边学习相关的开发知识边实现的。这次设计的开发是一次很珍贵的实践经验,因为这次开发都是一步步通过自己的努力完成的。 论文研究了关于无忧课程管理的需求分析,并完成了系统的设计与实现。归纳起来主要完成了以下工作: 1、阐述了电子课程表的定义,确定了开发无忧课程管理的基本技术路线。 2、从用户需求的角度说明开发无忧课程管理的基本技术路线。并针对所收集的资料整理出系统的业务流程图、功能模块图。 3、确定系统开发所需要的技术,结合现有的数据和编程思想,生成需要的数据库。 4、在详细设计和编码阶段,运用了Java最基本的开发技术,代码简单易懂,程序里各个Activity之间的跳转比较清晰。能正常的将输入的数据存入数据库中保存。 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 参考文献 [1]Jerome(J.F.)DiMarzio.Android程序员指南[M].USA:McGraw-Hill公司, 2008, 21~35. [2]靳岩,姚尚朗.Google Android开发入门与实践[M].北京:人民邮电出版社, 2009,37~59. [3]杨丰盛.Android应用开发揭秘[M].北京:机械工业出版社,2010,44~109,15~17. [4]E2EColud工作室.深入浅出Google Android[M].北京:人民邮电出版社,2009,178~194. [5]余志龙,陈昱勋,郑明杰,陈小凤,郭秩均.Google Android SDK开发范例大全[M].北京:人民邮电出版社,2009,42~53. [6] 印旻,王行言. Java 语言与面向对象程序设计[M](第2版).北京:清华大学出版社,2007,44~57. [7] Jeff Friesen.Learn Java for Android Development[M].USA:Apress.2010,2~21. [8] Marziah Karch.Android for work:productivity dor professionals[M].USA: Apress.2010,97~114. [9]张仕成. 基于Google Android平台的应用程序开发与研究[J].电脑知识与技术.2009,28:-66. [10] 陈璟,陈平华,李文亮. Android内核分析[J].现代计算机(专业版).2009,11:32-44. [11]财经日报.二月份谷歌Android移动市场占有率33%扩大优势 [EB/OL].http:// www.businesstimes.com.hk/a-20110405-1137/uygtr 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 致 谢 感谢学院四年来对我的辛苦培育,让我在大学这四年来学到很多东西,特别感谢学院为我提供了良好的学习环境、感谢领导、老师们四年来对我无微不至的关怀和指导,让我得以在这四年中学到很多有用的知识。在此,我还要感谢在班里同学和朋友,感谢你们在我遇到困难的时候帮助我,给我支持和鼓励,感谢你们。 特别感谢知道老师在我毕业论文写作及设计阶段对我的悉心指导,从最初的定题,到资料收集,到写作、修改、定稿,他给了我耐心的指导和无私的帮助。为了指导我们的毕业论文,他放弃了自己的休息时间,这种无私奉献的敬业精神令人钦佩,在此我向他表示我诚挚的谢意。 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 毕业设计(论文)成绩评价意见 论文题目 基于Android系统的课程管理系统 指导教师评语: 评定成绩: 签名: 年 月 日 评阅人评语: 评定成绩: 签名: 年 月 日 答辩小组评语: 答辩小组成员签名: 答辩成绩: 组长签名: 年 月 日 答辩委员会意见(同意给优、良、中、及格等次) 总成绩(综合): 签名: 年 月 日 注:设计(论文)总成绩=指导教师评定成绩(30%)+评阅人评定成绩(30%)+答辩成绩(40%) 评定成绩过程给分均按百分制分数给分,最终给定成绩再按五分制换算后给出。 我们的爱情,我们的理想,我们的未来,我们的成长,我们的幸福 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- stra.cn 版权所有 赣ICP备2024042791号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务