1、本科毕业论文(20 届)基于 Android 系统的课程表的设计与实现所在学院专业班级 计算机科学与技术学生姓名指导教师完成日期摘要随着无线移动设备的发展,手机也日益普及,Android 系统的推出使手机的发展进入到了一个新的领域。世界上一些知名的移动设备生产厂商对于 Android 智能机的开发热情也日益提高,Android 系统的使用人群正在急速提升,Android 应用程序的多样化对人们快速获取资讯以及方便人们的生活起着不可忽视的作用,近年来 Android 得到了社会更多的认同和应用,本文主要概述了 Android 系统的体系结构,Android 应用程序的开发环境和用 JAVA 语言
2、开发基于 Android 系统的课程管理系统中的一些技术实现方法,这些技术包括:基于 Android 系统的电子课程表的用户界面设计,Service 的使用,SQLite数据库的建立和存储。在系统的设计与实现中,确定系统的开发思想以及开发环境。最后给出了系统中模块的详细设计与实现,并对系统模块涉及到的关键源代码进行了详细的分析。经过调试运行后表明,系统可以满足用户的各项要求。关键词:Android,JAVA,SQLite,课程管理AbstractWith the development of wireless mobile devices, mobile phones have been in
3、creasingly popular, and the introduction of Android system has promoted the development of phones into a new area. Some of the worlds leading mobile device manufacturers have also shown great enthusiasm for the exploitation of Android intelligent machines. Beside, diversified Android application pro
4、grams play a significant role in peoples quick access to information and facilitation of peoples 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
5、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
6、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.Keywords: Android,JAV
7、A,SQLite,Class manage目录1 绪论 .11.1 项目背景及意义 .11.2 国内外现状 .11.3 论文组织结构 .22 相关技术分析 .32.1 ANDROID概述 .32.2 ANDROID系统的四大组件 .32.3 ANDROID中的相关技术介绍及分析 .52.3.1 Android 系统架构研究 .52.3.2 Android 架构分析 .62.3.3 Android 应用程序架构 .62.3.4 Android 运行时组件 .72.3.5 Android 应用的构成和工作机制 .72.4 ECLIPSE简介 .72.5 XML 简介 .83 需求分析 .93.1
8、系统需求分析 .93.2 系统流程 .93.3 功能模块划分 .93.3.1 课程添加模块 .94 系统设计 .104.1 概要分析 .104.2 数据库分析 .104.2.1 SQLite 数据表设计 .104.3 程序中的主要类 .114.3.1 GalleryTabActivity 类和 ClassListActivity 类 .114.3.2 ClassAddActivity 类和 SettingActivity 类 .124.3.3 SQLiteHelper 类和 SQLClassTime 类 .125 系统实现 .135.1 程序首页面 .135.2 课程设置实现 .135.3 课
9、程星期,地点实现 .145.4 更换背景 .165.5 设置开学日期 .19结论 .21参考文献 .22致谢 .23附录 .24搭建 ANDROID开发环境 .2411 绪论1.1 项目背景及意义对于课程管理,相信大家都不会感到陌生,课程管理即是帮助老师和学生管理课程,最早以纸质的方式存在,随着科技的发展,电子课程管理也出现在了手机上,更方便的为人们管理课程,记录课程的相关信息。在中国,手机已经成为人们日常生活必不可少的一部分,智能手机在高校人群中逐渐得到了普及,Android 手机凭借其优秀的系统性能以及良好的用户体验迅速得到了大学学生的青睐。在高校中,上课并不像高中时期有固定的教室和固定的
10、时间,大学课程种类繁多,并且上课地点和时间都不固定,一周内极少会出现重复课程,所以要将课程表完整的记忆下来是一项很艰难的事情,每次上课时总有许多同学在上课的路上才想到不知道在哪个教室上课,于是不得不每次拿出手机打电话花两毛钱问同学,或者一些同学一直装个纸质的课程表在衣袋里,极不方便。鉴于Android 手机在大学中的普及率很高,于是我就想到了创作一个 Android 版的课程管理程序。将课程表放进手机里,只需大家需要按照具体时间、课程名称等将自己的课程信息录入到系统中,为一周的每一天添加下课程安排,就可以一劳永逸。基于这些问题,有必要设计一款具有课程管理程序,配合上可以让用户自定义上课时间以及
11、地点的功能,从而避免遗忘上课的事情出现。1.2 国内外现状移动互联网发展的时代产物,学生下载课程表软件后安装输入学校信息管理系统帐号即可自动录入个人课程表,方便快捷。目前国内唯一支持自动录入课程表的手机软件-“超级课程表“。“超级课程表“ 是一款由几个 90 后以课程表为基础而展开的校园实用软件,面向高校大学生。其功能不仅能够帮助大学生查阅各个大学的课程信息(包括课程时间、授课地点、任课老师) ,还可以将自己的课程安排发布到应用中,与好友分享。除此之外,课程相同或者对此感兴趣的学生,可以在应用中讨论课程内容,分享上课的笔记,共享文件资源。甚至可以认识到同一节课任意课室范围内的同学,扩展交际圈,
12、并可以向同班同学发送私信,方便同学间即时、便捷的联系。还可以查看到全校课程,并添加入为个人旁听课程,制订属于自己的学霸计划!绑定第三方应用并分享到给第三方应用的粉丝。与其它课程表应用不同的是, “超级课程表”不需要用户手动添加课程,用户输入学校信息管理系统账号后,系统自动添加,方便,快捷。“超级课程表”具有以下几点功能;(1)对接高校教务系统,自动录入课表到手机;(2)快速记录课堂笔记、课后作业,提高学习效率;(3)精准推荐千万节旁听课程,校内跨院系蹭课;(4)软件内学习外语,充实你的课余生活;2(5)精彩“下课聊” ,百万大学生在线交流社区;(6)同学间互传纸条,在线交流学习。1.3论文组织
13、结构本文主要介绍了 Android 系统中的相关技术以及 Android 系统的架构,以及研究,分析,和实现基于 Android 电子课程表系统,包括以下几个部分:第一章简要介绍了 Android 手机平台的背景及国内外发展情况。第二章主要写了本程序的可行性及需求分析。第三章详述了电子课程表系统流程设计。以及对功能模块的划分。第四章主要叙述了对系统设计以及对数据库的分析。第五章主要写了程序首页以及课程设置的实现。32 相 关 技 术 分 析2.1 Android概述Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备。Android 一词的本义指“机器人”
14、,同时也是 Google 于 2007 年 11 月 5 日宣布的基于Linux 平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。Android 一词最早出现于法国作家利尔亚当(Auguste Villiers de lIsle-Adam)在 1886 年发表的科幻小说未来夏娃 (Lve future)中。他将外表像人的机器起名为 Android。Android 的 Logo 是由 Ascender 公司设计的,诞生于 2010 年,其设计灵感源于男女厕所门上的图形符号,于是布洛克绘制了一个简单的机器人,它的躯干就像锡罐的形状,头上还有两根天线,Android
15、小机器人便诞生了。其中的文字使用了 Ascender 公司专门制作的称之为“Droid ” 的字体。Android 是一个全身绿色的机器人,绿色也是Android 的标志。颜色采用了 PMS 376C 和 RGB 中十六进制的#A4C639 来绘制,这是Android 操作系统的品牌象徵。有时候,它们还会使用纯文字的 Logo。2012 年 7 月美国科技博客网站 BusinessInsider 评选出二十一世纪十款最重要电子产品,Android 操作系统和 iPhone 等榜上有名。与其他手机操作系统相比,Android 有 4 个无可比拟的优点:(1)开放性:Android 系统同时包含了
16、底层操作系统以及移动电话所需的全部软件,不存在专有权障碍,开发平台允许任何移动终端厂商加入到 Android 联盟中来,并允许不同厂商可以根据自己的需求对平台进行定制和扩展,无需任何授权许可费用;(2)所有应用程序平等:Android 系统中,系统核心应用和第三方应用都是完全平等的,用户可以将手机中的任意应用程序替换成所需的其他应用程序;(3)应用程序间无界限:开发人员可以吧 Web 上的数据与本地的日历、联系人、位置信息结合起来,应用程序还可声明它们可供其他程序使用;(4)快速方便的应用程序开发:Android 平台为开发人员提供了大量的实用库及工具,可以让开发人员快速的创建自己的应用。2.
17、2 Android系统的四大组件Android 四大基本组件分别是 Activity,Service 服务,Content Provider 内容提供者,BroadcastReceiver 广播接收器。(1)Activity应用程序中,一个 Activity 通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity 之间通过 Intent 进行通信。在 Intent 的描述结构中,有两个最重要的部分:动作和动作对应的数据。典型的动作类型有:4MAIN(activity 的门户) 、VIEW、PICK、EDIT 等。而动作对应的数据则以 URI 的形式进
18、行表示。例如:要查看一个人的联系方式,你需要创建一个动作类型为 VIEW 的intent,以及一个表示这个人的 URI。与之有关系的一个类叫 IntentFilter。相对于 intent 是一个有效的做某事的请求,一个 intentfilter 则用于描述一个 activity(或者 IntentReceiver)能够操作哪些intent。一个 activity 如果要显示一个人的联系方式时,需要声明一个IntentFilter,这个 IntentFilter 要知道怎么去处理 VIEW 动作和表示一个人的URI。IntentFilter 需要在 AndroidManifest.xml 中定
19、义。通过解析各种 intent,从一个屏幕导航到另一个屏幕是很简单的。当向前导航时,activity 将会调用startActivity(Intent myIntent)方法。然后,系统会在所有安装的应用程序中定义的IntentFilter 中查找,找到最匹配 myIntent 的 Intent 对应的 activity。新的activity 接收到 myIntent 的通知后,开始运行。当 startActivity 方法被调用将触发解析 myIntent 的动作,这个机制提供了两个关键好处:A、Activities 能够重复利用从其它组件中以 Intent 的形式产生的一个请求;B、Act
20、ivities 可以在任何时候被一个具有相同 IntentFilter 的新的 Activity 取代。(2)Service一个 Service 是一段长生命周期的,没有用户界面的程序,可以用来开发如监控类程序。比较好的一个例子就是一个正在从播放列表中播放歌曲的媒体播放器。在一个媒体播放器的应用中,应该会有多个 activity,让使用者可以选择歌曲并播放歌曲。然而,音乐重放这个功能并没有对应的 activity,因为使用者当然会认为在导航到其它屏幕时音乐应该还在播放的。在这个例子中,媒体播放器这个 activity 会使用Context.startService()来启动一个 service
21、,从而可以在后台保持音乐的播放。同时,系统也将保持这个 service 一直执行,直到这个 service 运行结束。另外,我们还可以通过使用 Context.bindService()方法,连接到一个 service 上(如果这个 service 还没有运行将启动它)。当连接到一个 service 之后,我们还可以 service 提供的接口与它进行通讯。拿媒体播放器这个例子来说,我们还可以进行暂停、重播等操作。Service 使用步骤如下:1.继承 service 类2.AndroidManifast.xml 配置清单文件中节点里对服务进行配置3.Content Provider Android 平台提供了 Content Provider 使一个应用程序的指定数据集提供给其他应用程序。这些数据可以存储在文件系统中、在一个 SQLite 数据库、或以任何其他合理的方式,其他应用可以通过 ContentResolver 类(见
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。