基于Android平台的高校学生管理系统的 下载本文

第四章 Android高校学生管理系统设计

4.1 系统总体架构设计

高校学生管理系统主要设计目的是为了满足学生、教师(班主任、学生书记、专业教师)之间的有效交流。同时,还可以满足教师之间高效交流。因为专业教师主要的任务是给学生授课,管理学生的时间比较少。而班主任主要工作的对学生进行管理,但对于每个学生每个科目的学习状况很难及时掌握。专业教师与班主任之间很少见面交流,因此如果通过OA软件,及时交流学生的学习情况,如果学生出现学习成绩明显下降,班主任就可以及时了解,并询问学生的具体情况,查找原因。系统整体模块如下所示:

高校学生管理系统 学生查询交流系统 工作人员OA系统

4- 1系统顶层模块示意图

4.2 模块间协调通讯关键技术

当你构建一个意图,你必须指定您想要的行动意图“触发。“Android定义了几个动作,包括行动派的,表明意图是发送数据从一个活动到另一个,甚至是跨进程边界。发送数据到另一个活动,所有你需要做的是指定数据及其类型,系统会识别兼容接收活动并将它们显示给用户(如果有多个选项)或立即启动活动(如果只有一个选项)。类似地,您可以做广告,你的活动的数据类型支持接收从其他应用程序通过指定他们在你的清单。

应用程序之间的数据发送和接收与意图是最常用的社交分享的内容。意图允许用户快速而方便地共享信息,用他们最喜欢的应用程序。 一、发送信息 1、发送文本信息

最简单和普遍的使用动发出文本内容从一个活动到另一个。例如,内置的浏

1

览器应用程序可以共享的URL作为文本当前显示页面与任何应用程序。这是用于分享文章或网站与朋友通过电子邮件或社交网络。 2、二进制数据共享

二进制数据共享使用行动派行动结合设置适当的MIME类型和将URI的数据在一个额外的命名为额外的流。这通常用于共享一个图像,但可以用来共享任何类型的二进制内容: 3、发送内容的多个部分

分享内容的多个部分,使用ACTION_SEND_MULTIPLE发送多个行动清单,一起的uri指向的内容。MIME类型不同而有所不同的混合内容你分享。例如,如果您分享 JPEG图像,类型仍然是“图像/ JPEG”。对于一个混合的图像类型,它应该是“图像/ *”比赛活动,处理任何类型的图像。你应该只使用“* / *”如果你分享出来各种各样的类型。正如前面提到的,需要接收应用程序来解析和处理您的数据。

二、正如应用程序可以将数据发送给其他应用程序一样,可以很容易地从应用程序接收数据。考虑用户如何与应用程序交互,数据类型你想收到其他应用程序。例如,一个社交网络的应用程序可能会有兴趣接收文本内容,就像一个有趣的web URL,从另一个应用程序,谷歌+ Android应用程序接受两个文本和单个或多个图像。使用该软件,用户可以很容易地开始一个新的谷歌+帖子和照片从Android画廊应用 1、更新清单

意图过滤器通知系统什么意图的应用程序组件是愿意接受。类似于你如何构造一个意图和行动行动派在发送内容到其他应用程序使用意图的教训,你创造意图过滤器为了能够获得与这个行动的意图。你定义一个意图过滤器在你的清单,使用<意图过滤器>元素。例如,如果您的应用程序处理接收的文本内容,任何类型的单个图像,或任何类型的多个图像。 2、输入内容的handle处理

处理内容交付的一个intent(),开始通过调用getIntent(),得到的意图对象。一旦你有了对象,您可以检查其内容来决定下一步要做什么。记住,如果这个活动可以开始从系统的其它部分,如发射器,然后你将需要考虑到这一点当检查的意图。

4.3 数据库存取关键技术实现

Android 程序需要使用到数据,数据存储在 Android 应用程序开发中。Android 通过以下五 种方式实现数据存储。

2

第一种使用SharePreferences存储数据:SharedPreferences主要是保存一些常用的配置,例如窗口状态,它是 Android 平台上一个轻量级的存储类,一般在 Activity 中,重载窗口状态 onSaveInstanceState 保存一般使用 SharedPreferences 完成,它提供了 Android 平台常规的 Long 长 整形、Int 整形、String 字符串型的保存[ ]。

第二种是文件方式存储数据:也就是将数据以文件的形式存储在设备或其他的移动媒介上。

第三种是采用 SQLite 数据库方式:SQLite 是 Android 自带的与操作系统无关的开源数据库,它是轻量级嵌入式数据库引擎,支持 SQL 语言,只需用很少的内存就能有很好的性能[ ]。通过 SQLiteDatabase 类,应用程序可以对 SQLite 数据库进行操作。

第四种是使用 ContentProvider 存储数据:通过一个 ContentProvider 的抽象接口,程序就能把自己的数据显露出来,实际上 ContentProviders 显露数据的的方式类似数据库中表的方式,相当于 ContentProvider 就是一个“数据库”[32]。所以,就与要从一般的数据库中获得数据的操作一样,想要获取 ContentProvider 提供的数据,可以通过采用 URI 来表示外界需要访问的“数据库”来进行获取[32]。

第五种是通过网络方式存储数据:前面四种存储方式都是将数据存储在本地设备上,Android 还可以通过网络来实现数据的存储(获取),这种方式可以调用 WebService 返回的数据或是解析 HTTP 协议实现网络数据交互[32]。

保存数据到数据库中是理想的重复或结构化的数据,比如联系信息。使用SQLite数据库在Android。这些API需要使用Android SDK中的Android.database.sqlite包。

先定义一个模式和约束。SQL数据库的模式:正式宣布数据库如何被组织。模式是反映在SQL语句,您可以用它来创建数据库。你可能会发现,这有助于创建一个同伴类,称为合同类,它显式地指定模式的布局在一个系统的和自我记录的方式。

合同类是一个常量,定义名称的容器为uri、表和列。合同类允许您使用相同的常数在所有其他的类放在同一个包内。这可以让你改变一个列名在一个地方,并让它在你的代码传播。一个好的方式来组织一个合同类将定义全局你的整个数据库在根级别的类。然后创建一个内部类为每个表,列举其列。

一套有用的API可以在SQLiteOpenHelper类。 当你使用这个类来获取引用您的数据库,系统执行可能长时间运行的操作的创建和更新数据库只在需要时,而不是在应用程序启动。所有需要做的是调用getReadableDatabase

3