
基于Android平台的高校学生管理系统的设计与实现.doc
36页第一章 Android高校学生管理系统设计1.1 系统总体架构设计高校学生管理系统主要设计目的是为了满足学生、教师(班主任、学生书记、专业教师)之间的有效交流同时,还可以满足教师之间高效交流因为专业教师主要的任务是给学生授课,管理学生的时间比较少而班主任主要工作的对学生进行管理,但对于每个学生每个科目的学习状况很难及时掌握专业教师与班主任之间很少见面交流,因此如果通过OA软件,及时交流学生的学习情况,如果学生出现学习成绩明显下降,班主任就可以及时了解,并询问学生的具体情况,查找原因系统整体模块如下所示:高校学生管理系统工作人员OA系统学生查询交流系统1- 1系统顶层模块示意图1.2 模块间协调通讯关键技术当你构建一个意图,你必须指定您想要的行动意图“触发Android定义了几个动作,包括行动派的,表明意图是发送数据从一个活动到另一个,甚至是跨进程边界发送数据到另一个活动,所有你需要做的是指定数据及其类型,系统会识别兼容接收活动并将它们显示给用户(如果有多个选项)或立即启动活动(如果只有一个选项)类似地,您可以做广告,你的活动的数据类型支持接收从其他应用程序通过指定他们在你的清单应用程序之间的数据发送和接收与意图是最常用的社交分享的内容。
意图允许用户快速而方便地共享信息,用他们最喜欢的应用程序一、发送信息1、发送文本信息最简单和普遍的使用动发出文本内容从一个活动到另一个例如,内置的浏览器应用程序可以共享的URL作为文本当前显示页面与任何应用程序这是用于分享文章或网站与朋友通过电子邮件或社交网络2、二进制数据共享二进制数据共享使用行动派行动结合设置适当的MIME类型和将URI的数据在一个额外的命名为额外的流这通常用于共享一个图像,但可以用来共享任何类型的二进制内容:3、发送内容的多个部分分享内容的多个部分,使用ACTION_SEND_MULTIPLE发送多个行动清单,一起的uri指向的内容MIME类型不同而有所不同的混合内容你分享例如,如果您分享 JPEG图像,类型仍然是“图像/ JPEG”对于一个混合的图像类型,它应该是“图像/ *”比赛活动,处理任何类型的图像你应该只使用“* / *”如果你分享出来各种各样的类型正如前面提到的,需要接收应用程序来解析和处理您的数据二、正如应用程序可以将数据发送给其他应用程序一样,可以很容易地从应用程序接收数据考虑用户如何与应用程序交互,数据类型你想收到其他应用程序例如,一个社交网络的应用程序可能会有兴趣接收文本内容,就像一个有趣的web URL,从另一个应用程序,谷歌+ Android应用程序接受两个文本和单个或多个图像。
使用该软件,用户可以很容易地开始一个新的谷歌+帖子和照片从Android画廊应用1、更新清单意图过滤器通知系统什么意图的应用程序组件是愿意接受类似于你如何构造一个意图和行动行动派在发送内容到其他应用程序使用意图的教训,你创造意图过滤器为了能够获得与这个行动的意图你定义一个意图过滤器在你的清单,使用<意图过滤器>元素例如,如果您的应用程序处理接收的文本内容,任何类型的单个图像,或任何类型的多个图像2、输入内容的handle处理处理内容交付的一个intent(),开始通过调用getIntent(),得到的意图对象一旦你有了对象,您可以检查其内容来决定下一步要做什么记住,如果这个活动可以开始从系统的其它部分,如发射器,然后你将需要考虑到这一点当检查的意图1.3 数据库存取关键技术实现Android 程序需要使用到数据,数据存储在 Android 应用程序开发中Android 通过以下五 种方式实现数据存储第一种使用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 getWritableDatabase()用SQLiteOpenHelper,创建一个子类,覆盖了onCreate(),和onOpen(), onUpgrade()回调方法。
从数据库读取,使用query()方法,传递你的选择标准和期望的列该方法结合了元素的insert()、update()查询的结果返回给您的游标对象本系统通过 MySQL 数据库来模拟后台数据,进行数据的相关操作Android 移动终端通过网络连接服务器,在数据库中进行数据的查询、存储或修改,最后将所需数据返回给Android 移动终端图1-2 系统数据库平台1.4 系统数据库实现1.4.1学生查询交流系统表设计学生查询交流表主要存放在服务器上,学生通过android平台来访问获取需要的各类信息在MVC模式中,属于模型状态,一般改变比较少1、学生学籍信息列表(stuinfotbl),用作存储学生学籍信息图1- 3 学生学籍表图2、学生成绩信息列表,用作存储学生成绩信息图1-4学生成绩信息列表3、学生交流信息表,用于存放与学生交流的信息图4-5 学生交流信息表1.4.2高校教师OA系统表设计高校教师OA系统可以便于教师员工之间进行及时的信息交流1.高校员工表表1-1高校员工表2.高校部门表表 1-2高校部门表3、高校教师学生权限表表1-3 高校教师学生权限表4、高校教师学生权限角色表表1-4高校教师学生角色表5、高校教师学生角色表表1-5高校教师学生角色表 6、高校员工角色表表1-6高校员工角色表7、个人日程表表1-7个人日程表8、员工文件表表1-8员工文件表9、流程表表1-9流程表10、公文表表1-10公文表11、公文审批流程表表1-11公文审批流程表12、公文流转表表 1-12 公文流转表13、公文内容表表1-13 公文内容表36第二章 Android高校学生管理系统实现2.1 开发平台的搭建1、首先要下载相关的软件(1). JDK 6 以上 (2). eclipse( Version 3.6.2 or higher) (3). SDK(android-sdk_r18-windows) 目前是最新的安装JDK,配置环境变量:2、在 eclipse 中安装插件, 打开eclipse,点击 help ---> Install new Software 进入后,点击add,命名ADT 及 点击Archive选择路径指向http://dl- all),点击下一步...安装时需要一定时间,在安装的过程中会出现一些提示,点击允许即可,3、安装完ADT插件后,点击 window --> preference,发现左侧列表上多了一项android,点击android 会提示错误,是因为还没有把 SDK 关联到 ADT插件上。
添加SDK目标位置如图(没有关联是因为addroid sdk manger中缺少路径图2-1 SDK目标位置4、把下载完的android-sdk_r18-windows 解压开,如下图所示:图2-2 解压android-sdk_r18-windows注意:刚解压开的sdk中 platforms和add-ons文件夹是空的(这就是第三步提示错误的原因)5、下一步双击 SDK Manager.exe 最好是下载全部的平台,下载比较慢,将近1小时.6、新建模拟器(AVD),点击eclipse栏目上的那部绿色的进入界面,点击 new 进入,填入相关信息之后,点击 Start,可以启动 模拟器了图2-3 启动模拟器界面点击launch图2-4 launch操作示意图点击Launch之后进入安卓操作界面,如图2-5所示图2-5 安卓操作界面7. 设置语言,进入主菜单,点击如图2-6所示图2-6 安卓平台主界面2.2 主要功能模块的实现与测试2.2.1 系统登录系统登录是使用本信息服务系统的前提运行程序,可以进入系统,首先进行用户类型选择,界面如图 5- 7所示用户选择不同的端口进入系统登录界面学生、教师、家长登录界面。
图2-7 系统登录流程图2-8 学生登录界面图2-9 教师OA登录界面图2-10 系统管理员登录界面登录主要实现代码如下:import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.ViewGroup;public class ArticleFragment extends Fragment { p。
