毕业设计(论文)-基于Android系统的课程表的设计与实现.doc_第1页
毕业设计(论文)-基于Android系统的课程表的设计与实现.doc_第2页
毕业设计(论文)-基于Android系统的课程表的设计与实现.doc_第3页
毕业设计(论文)-基于Android系统的课程表的设计与实现.doc_第4页
毕业设计(论文)-基于Android系统的课程表的设计与实现.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

河北农业大学 现代科技学院 本科毕业论文 题题 目目: 基于基于 Android 系统的课程表的设计与实现系统的课程表的设计与实现 学 院: 现代科技学院 专业班级: 计算机科学与技术 1001 班 学 号: 二二 O 一四一四 年年 六六 月月 一一 日日 摘要摘要 随着无线移动设备的发展,手机也日益普及,Android 系统的推出使手机的发展进入 到了一个新的领域。世界上一些知名的移动设备生产厂商对于 Android 智能机的开发热 情也日益提高,Android 系统的使用人群正在急速提升,Android 应用程序的多样化对人 们快速获取资讯以及方便人们的生活起着不可忽视的作用,近年来 Android 得到了社会 更多的认同和应用,本文主要概述了 Android 系统的体系结构,Android 应用程序的开发 环境和用 JAVA 语言开发基于 Android 系统的课程管理系统中的一些技术实现方法,这些 技术包括:基于 Android 系统的电子课程表的用户界面设计,Service 的使用,SQLite 数据库的建立和存储。在系统的设计与实现中,确定系统的开发思想以及开发环境。最 后给出了系统中模块的详细设计与实现,并对系统模块涉及到的关键源代码进行了详细 的分析。经过调试运行后表明,系统可以满足用户的各项要求。 关键词:Android,JAVA,SQLite,课程管理 A Abstractbstract 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 worlds 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 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 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. Keywords: Android,JAVA,SQLite,Class manage 目录目录 1 绪论.1 1.1 项目背景及意义.1 1.2 国内外现状.1 1.3 论文组织结构 .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 应用程序架构 .6 2.3.4 Android 运行时组件 .7 2.3.5 Android 应用的构成和工作机制 .7 2.4 ECLIPSE简介.7 2.5 XML 简介 .8 3 需求分析.9 3.1 系统需求分析.9 3.2 系统流程.9 3.3 功能模块划分.9 3.3.1 课程添加模块 .9 4 系统设计.10 4.1 概要分析.10 4.2 数据库分析.10 4.2.1 SQLite 数据表设计 .10 4.3 程序中的主要类.11 4.3.1 GalleryTabActivity 类和 ClassListActivity 类 .11 4.3.2 ClassAddActivity 类和 SettingActivity 类 .12 4.3.3 SQLiteHelper 类和 SQLClassTime 类 .12 5 系统实现.13 5.1 程序首页面 .13 5.2 课程设置实现.13 5.3 课程星期,地点实现.14 5.4 更换背景 .16 5.5 设置开学日期 .19 结论 .21 参考文献 .22 致谢 .23 附录 .24 搭建 ANDROID开发环境 .24 1 1 绪论绪论 1.1 项目背景及意义 对于课程管理,相信大家都不会感到陌生,课程管理即是帮助老师和学生管理课程, 最早以纸质的方式存在,随着科技的发展,电子课程管理也出现在了手机上,更方便的 为人们管理课程,记录课程的相关信息。在中国,手机已经成为人们日常生活必不可少 的一部分,智能手机在高校人群中逐渐得到了普及,Android 手机凭借其优秀的系统性能 以及良好的用户体验迅速得到了大学学生的青睐。在高校中,上课并不像高中时期有固 定的教室和固定的时间,大学课程种类繁多,并且上课地点和时间都不固定,一周内极 少会出现重复课程,所以要将课程表完整的记忆下来是一项很艰难的事情,每次上课时 总有许多同学在上课的路上才想到不知道在哪个教室上课,于是不得不每次拿出手机打 电话花两毛钱问同学,或者一些同学一直装个纸质的课程表在衣袋里,极不方便。鉴于 Android 手机在大学中的普及率很高,于是我就想到了创作一个 Android 版的课程管理程 序。将课程表放进手机里,只需大家需要按照具体时间、课程名称等将自己的课程信息 录入到系统中,为一周的每一天添加下课程安排,就可以一劳永逸。 基于这些问题,有必要设计一款具有课程管理程序,配合上可以让用户自定义上课 时间以及地点的功能,从而避免遗忘上课的事情出现。 1.2 国内外现状 移动互联网发展的时代产物,学生下载课程表软件后安装输入学校信息管理系统帐 号即可自动录入个人课程表,方便快捷。目前国内唯一支持自动录入课程表的手机软件- 超级课程表。 超级课程表是一款由几个 90 后以课程表为基础而展开的校园实用软件,面向高校 大学生。其功能不仅能够帮助大学生查阅各个大学的课程信息(包括课程时间、授课地 点、任课老师) ,还可以将自己的课程安排发布到应用中,与好友分享。除此之外,课程 相同或者对此感兴趣的学生,可以在应用中讨论课程内容,分享上课的笔记,共享文件 资源。甚至可以认识到同一节课任意课室范围内的同学,扩展交际圈,并可以向同班同 学发送私信,方便同学间即时、便捷的联系。还可以查看到全校课程,并添加入为个人 旁听课程,制订属于自己的学霸计划!绑定第三方应用并分享到给第三方应用的粉丝。 与其它课程表应用不同的是, “超级课程表”不需要用户手动添加课程,用户输入学校信 息管理系统账号后,系统自动添加,方便,快捷。 “超级课程表”具有以下几点功能; (1)对接高校教务系统,自动录入课表到手机; (2)快速记录课堂笔记、课后作业,提高学习效率; (3)精准推荐千万节旁听课程,校内跨院系蹭课; (4)软件内学习外语,充实你的课余生活; 2 (5)精彩“下课聊” ,百万大学生在线交流社区; (6)同学间互传纸条,在线交流学习。 1.3 论文组织结构 本文主要介绍了 Android 系统中的相关技术以及 Android 系统的架构,以及研究, 分析,和实现基于 Android 电子课程表系统,包括以下几个部分: 第一章简要介绍了 Android 手机平台的背景及国内外发展情况。 第二章主要写了本程序的可行性及需求分析。 第三章详述了电子课程表系统流程设计。以及对功能模块的划分。 第四章主要叙述了对系统设计以及对数据库的分析。 第五章主要写了程序首页以及课程设置的实现。 3 2 相关技术分析 2.1 Android 概述 Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备。 Android 一词的本义指“机器人” ,同时也是 Google 于 2007 年 11 月 5 日宣布的基于 Linux 平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软 件组成。 Android 一词最早出现于法国作家利尔亚当(Auguste Villiers de lIsle-Adam) 在 1886 年发表的科幻小说未来夏娃 (Lve future)中。他将外表像人的机器起名 为 Android。 Android 的 Logo 是由 Ascender 公司设计的,诞生于 2010 年,其设计灵感源于男女 厕所门上的图形符号,于是布洛克绘制了一个简单的机器人,它的躯干就像锡罐的形状, 头上还有两根天线,Android 小机器人便诞生了。其中的文字使用了 Ascender 公司专门 制作的称之为“Droid ” 的字体。Android 是一个全身绿色的机器人,绿色也是 Android 的标志。颜色采用了 PMS 376C 和 RGB 中十六进制的#A4C639 来绘制,这是 Android 操作系统的品牌象徵。有时候,它们还会使用纯文字的 Logo。 2012 年 7 月美国科技博客网站 BusinessInsider 评选出二十一世纪十款最重要电子 产品,Android 操作系统和 iPhone 等榜上有名。 与其他手机操作系统相比,Android 有 4 个无可比拟的优点: (1)开放性:Android 系统同时包含了底层操作系统以及移动电话所需的全部软件, 不存在专有权障碍,开发平台允许任何移动终端厂商加入到 Android 联盟中来,并允许 不同厂商可以根据自己的需求对平台进行定制和扩展,无需任何授权许可费用; (2)所有应用程序平等:Android 系统中,系统核心应用和第三方应用都是完全平等 的,用户可以将手机中的任意应用程序替换成所需的其他应用程序; (3)应用程序间无界限:开发人员可以吧 Web 上的数据与本地的日历、联系人、位置 信息结合起来,应用程序还可声明它们可供其他程序使用; (4)快速方便的应用程序开发:Android 平台为开发人员提供了大量的实用库及工具,可以让开发 人员快速的创建自己的应用。 2.2 Android 系统的四大组件 Android 四大基本组件分别是 Activity,Service 服务,Content Provider 内容提 供者,BroadcastReceiver 广播接收器。 (1)Activity 应用程序中,一个 Activity 通常就是一个单独的屏幕,它上面可以显示一些控件也 可以监听并处理用户的事件做出响应。Activity 之间通过 Intent 进行通信。在 Intent 的描述结构中,有两个最重要的部分:动作和动作对应的数据。典型的动作类型有: 4 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 配置清单文件中节点里对服务进行配置 3.Content Provider Android 平台提供了 Content Provider 使一个应用程序的指定 数据集提供给其他应用程序。这些数据可以存储在文件系统中、在一个 SQLite 数据库、 或以任何其他合理的方式,其他应用可以通过 ContentResolver 类(见 5 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 也是一套 开放性的关联式资料库,其特点在于轻量性方面的设计结构,更适合在手机上使用。 6 2.3.2 Android 架构分析 Android 的架构包括 5 个部分:应用程序、应用程序框架、程序库、Android 运行库 及 Linux 内核。架构如图 2-1 所示: 图 2-1 Android 架构的五个部分 2.3.3 Android 应用程序架构 在 Android SDK 中,定义了让开发者使用与核心应用程序相同 API 的权限应用程序 框架是为了要简化组件的重新利用而设计的,应用程序可以发布功能为其它应用程序所 使用。但是,这要受限于应用程序架构的安全机制,使用者以用同样的机制来新增、置 换组件。目前所有的应用程序是由服务及系统来组成。Android 应用构成和工作流程图如 图 2-2 所示: HomeContactsPhoneBrowser Package Manager Telephony Manager Resource Manager Location Manager Notification Manager Activity Manager Window Manager Content Providers View System Surface Manager OpenGL|ES SGL Media Framework FreeType SSL SQLite WebKit libc Core Libraries DalvikVirtual Machine Camera Driver Flash Memory Driver Binder(IPC) Driver Wifi Driver Audio Drivers Power Management APPLICATIONS APPLICATION FRAMEWORK LIBRARIES ANDROID RUNTIME LINUX KERNEL 7 Intent Service Activity ContentProvider 存储设备Activity Binder Intent Receiver 外部事件 图 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 框架还可用来作为与软件开发无关的其他 应用程序类型的基础,比如内容管理系统。 8 2.5 XML 简介 XML 是指可扩展标记语言(EXtensible Makeup Language) ,是用来传输和存储数据 的工具。XML 数据是一种纯文本格式存储的数据,它提供了一种独立软件和硬件的数据存 储方法。 XML 文档必须包含根元素,该元素是所有

温馨提示

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

评论

0/150

提交评论