基于Android平台的高校学生管理系统的.docx

上传人:b****6 文档编号:6052460 上传时间:2023-01-03 格式:DOCX 页数:34 大小:4.93MB
下载 相关 举报
基于Android平台的高校学生管理系统的.docx_第1页
第1页 / 共34页
基于Android平台的高校学生管理系统的.docx_第2页
第2页 / 共34页
基于Android平台的高校学生管理系统的.docx_第3页
第3页 / 共34页
基于Android平台的高校学生管理系统的.docx_第4页
第4页 / 共34页
基于Android平台的高校学生管理系统的.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

基于Android平台的高校学生管理系统的.docx

《基于Android平台的高校学生管理系统的.docx》由会员分享,可在线阅读,更多相关《基于Android平台的高校学生管理系统的.docx(34页珍藏版)》请在冰豆网上搜索。

基于Android平台的高校学生管理系统的.docx

基于Android平台的高校学生管理系统的

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

4.1系统总体架构设计

高校学生管理系统主要设计目的是为了满足学生、教师(班主任、学生书记、专业教师)之间的有效交流。

同时,还可以满足教师之间高效交流。

因为专业教师主要的任务是给学生授课,管理学生的时间比较少。

而班主任主要工作的对学生进行管理,但对于每个学生每个科目的学习状况很难及时掌握。

专业教师与班主任之间很少见面交流,因此如果通过OA软件,及时交流学生的学习情况,如果学生出现学习成绩明显下降,班主任就可以及时了解,并询问学生的具体情况,查找原因。

系统整体模块如下所示:

 

 

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

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

当你构建一个意图,你必须指定您想要的行动意图“触发。

“Android定义了几个动作,包括行动派的,表明意图是发送数据从一个活动到另一个,甚至是跨进程边界。

发送数据到另一个活动,所有你需要做的是指定数据及其类型,系统会识别兼容接收活动并将它们显示给用户(如果有多个选项)或立即启动活动(如果只有一个选项)。

类似地,您可以做广告,你的活动的数据类型支持接收从其他应用程序通过指定他们在你的清单。

应用程序之间的数据发送和接收与意图是最常用的社交分享的内容。

意图允许用户快速而方便地共享信息,用他们最喜欢的应用程序。

一、发送信息

1、发送文本信息

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

例如,内置的浏览器应用程序可以共享的URL作为文本当前显示页面与任何应用程序。

这是用于分享文章或网站与朋友通过电子邮件或社交网络。

2、二进制数据共享

二进制数据共享使用行动派行动结合设置适当的MIME类型和将URI的数据在一个额外的命名为额外的流。

这通常用于共享一个图像,但可以用来共享任何类型的二进制内容:

3、发送内容的多个部分

分享内容的多个部分,使用ACTION_SEND_MULTIPLE发送多个行动清单,一起的uri指向的内容。

MIME类型不同而有所不同的混合内容你分享。

例如,如果您分享JPEG图像,类型仍然是“图像/JPEG”。

对于一个混合的图像类型,它应该是“图像/*”比赛活动,处理任何类型的图像。

你应该只使用“*/*”如果你分享出来各种各样的类型。

正如前面提到的,需要接收应用程序来解析和处理您的数据。

二、正如应用程序可以将数据发送给其他应用程序一样,可以很容易地从应用程序接收数据。

考虑用户如何与应用程序交互,数据类型你想收到其他应用程序。

例如,一个社交网络的应用程序可能会有兴趣接收文本内容,就像一个有趣的webURL,从另一个应用程序,谷歌+Android应用程序接受两个文本和单个或多个图像。

使用该软件,用户可以很容易地开始一个新的谷歌+帖子和照片从Android画廊应用

1、更新清单

意图过滤器通知系统什么意图的应用程序组件是愿意接受。

类似于你如何构造一个意图和行动行动派在发送内容到其他应用程序使用意图的教训,你创造意图过滤器为了能够获得与这个行动的意图。

你定义一个意图过滤器在你的清单,使用<意图过滤器>元素。

例如,如果您的应用程序处理接收的文本内容,任何类型的单个图像,或任何类型的多个图像。

2、输入内容的handle处理

处理内容交付的一个intent(),开始通过调用getIntent(),得到的意图对象。

一旦你有了对象,您可以检查其内容来决定下一步要做什么。

记住,如果这个活动可以开始从系统的其它部分,如发射器,然后你将需要考虑到这一点当检查的意图。

4.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需要使用AndroidSDK中的Android.database.sqlite包。

先定义一个模式和约束。

SQL数据库的模式:

正式宣布数据库如何被组织。

模式是反映在SQL语句,您可以用它来创建数据库。

你可能会发现,这有助于创建一个同伴类,称为合同类,它显式地指定模式的布局在一个系统的和自我记录的方式。

合同类是一个常量,定义名称的容器为uri、表和列。

合同类允许您使用相同的常数在所有其他的类放在同一个包内。

这可以让你改变一个列名在一个地方,并让它在你的代码传播。

一个好的方式来组织一个合同类将定义全局你的整个数据库在根级别的类。

然后创建一个内部类为每个表,列举其列。

一套有用的API可以在SQLiteOpenHelper类。

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

所有需要做的是调用getReadableDatabasegetWritableDatabase()。

用SQLiteOpenHelper,创建一个子类,覆盖了onCreate(),和onOpen(),onUpgrade()回调方法。

从数据库读取,使用query()方法,传递你的选择标准和期望的列。

该方法结合了元素的insert()、update()。

查询的结果返回给您的游标对象。

本系统通过MySQL数据库来模拟后台数据,进行数据的相关操作。

Android移动终端通过网络连接服务器,在数据库中进行数据的查询、存储或修改,最后将所需数据返回给Android移动终端。

图4-2系统数据库平台

4.4系统数据库实现

4.4.1学生查询交流系统表设计

学生查询交流表主要存放在服务器上,学生通过android手机平台来访问获取需要的各类信息。

在MVC模式中,属于模型状态,一般改变比较少。

1、学生学籍信息列表(stuinfotbl),用作存储学生学籍信息。

图4-3学生学籍表图

2、学生成绩信息列表,用作存储学生成绩信息。

图4—4学生成绩信息列表

3、学生交流信息表,用于存放与学生交流的信息

图4-5学生交流信息表

4.4.2高校教师OA系统表设计

高校教师OA系统可以便于教师员工之间进行及时的信息交流。

1.高校员工表

表4-1高校员工表

2.高校部门表

表4-2高校部门表

3、高校教师学生权限表

表4-3高校教师学生权限表

4、高校教师学生权限角色表

表4-4高校教师学生角色表

5、高校教师学生角色表

表4-5高校教师学生角色表

6、高校员工角色表

表4-6高校员工角色表

7、个人日程表

表4-7个人日程表

8、员工文件表

表4-8员工文件表

9、流程表

表4-9流程表

10、公文表

表4-10公文表

11、公文审批流程表

表4-11公文审批流程表

12、公文流转表

表4-12公文流转表

13、公文内容表

表4-13公文内容表

第五章Android高校学生管理系统实现

5.1开发平台的搭建

1、首先要下载相关的软件

(1).JDK6以上

(2).eclipse(Version3.6.2orhigher)

(3).SDK(android-sdk_r18-windows)目前是最新的

安装JDK,配置环境变量:

2、在eclipse中安装插件,打开eclipse,点击help--->InstallnewSoftware进入后,点击add,命名ADT及点击Archive选择路径指向http:

//dl-all),点击下一步...安装时需要一定时间,在安装的过程中会出现一些提示,点击允许即可,

3、安装完ADT插件后,点击window-->preference,发现左侧列表上多了一项android,点击android会提示错误,是因为还没有把SDK关联到ADT插件上。

添加SDK目标位置如图(没有关联是因为addroidsdkmanger中缺少路径。

图5-1SDK目标位置

4、把下载完的android-sdk_r18-windows解压开,如下图所示:

图5-2解压android-sdk_r18-windows

注意:

刚解压开的sdk中platforms和add-ons文件夹是空的(这就是第三步提示错误的原因)

5、下一步双击SDKManager.exe最好是下载全部的平台,下载比较慢,将近1小时.

6、新建模拟器(AVD),点击eclipse栏目上的那部绿色的手机进入界面,点击new进入,填入相关信息之后,点击Start,可以启动模拟器了

图5-3启动模拟器界面

点击launch

图5-4launch操作示意图

点击Launch之后进入安卓操作界面,如图5-5所示。

图5-5安卓操作界面

7.设置语言,进入主菜单,点击。

如图5-6所示。

图5-6安卓平台主界面

5.2主要功能模块的实现与测试

5.2.1系统登录

系统登录是使用本信息服务系统的前提。

运行程序,可以进入系统,首先进行用户类型选择,界面如图5-7所示。

用户选择不同的端口进入系统登录界面。

学生、教师、家长登录界面。

图5-7系统登录流程

图5-8学生登录界面

图5-9教师OA登录界面

图5-10系统管理员登录界面

登录主要实现代码如下:

importandroid.os.Bundle;

importandroid.support.v4.app.Fragment;

importandroid.view.LayoutInflater;

importandroid.view.ViewGroup;

publicclassArticleFragmentextendsFragment{ 

publicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,

BundlesavedInstanceState){

//Inflatethelayoutforthisfragment

returninflater.inflate(R.layout.article_view,container,false);

5.2.2学生查询交流系统实现

1、学生、教师和家长查询交流系统主界面

图5-11学生教师查询交流系统主界面

图5-12家长查询交流系统主界面

教师查询界面

图5-13教师查询主界面

图5-14学生基本信息查询界面

查询实现的主要代码如下所示:

importandroid.os.Bundle;

importandroid.support.v4.app.FragmentActivity;

publicclassMainActivityextendsFragmentActivity{

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.news_articles);

}

}

调用XML代码如下:

android="http:

//

android:

orientation="horizontal"

android:

layout_width="fill_parent"

android:

layout_height="fill_parent">

name="com.example.android.fragments.HeadlinesFragment"

android:

id="@+id/headlines_fragment"

android:

layout_weight="1"

android:

layout_width="0dp"

android:

layout_height="match_parent"/>

name="com.example.android.fragments.ArticleFragment"

android:

id="@+id/article_fragment"

android:

layout_weight="2"

android:

layout_width="0dp"

android:

layout_height="match_parent"/>

2、信息录入功能

5-15信息录入功能

5-16学生获奖信息录入

5-17其他录入信息

5-18提交成功对话框

主要实现的代码如下所示:

importandroid.os.Bundle;

importandroid.support.v4.app.FragmentActivity;

publicclassMainActivityextendsFragmentActivity{

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.news_articles);

//Checkthattheactivityisusingthelayoutversionwith

//thefragment_containerFrameLayout

if(findViewById(R.id.fragment_container)!

=null){

//However,ifwe'rebeingrestoredfromapreviousstate,

//thenwedon'tneedtodoanythingandshouldreturnorelse

//wecouldendupwithoverlappingfragments.

if(savedInstanceState!

=null){

return;

}

//CreateaninstanceofExampleFragment

HeadlinesFragmentfirstFragment=newHeadlinesFragment();

//IncasethisactivitywasstartedwithspecialinstructionsfromanIntent,

//passtheIntent'sextrastothefragmentasarguments

firstFragment.setArguments(getIntent().getExtras());

//Addthefragmenttothe'fragment_container'FrameLayout

getSupportFragmentManager().beginTransaction()

.add(R.id.fragment_container,firstFragment).commit();

}

}

}

3、信息发布功能

5-19信息发布功能主界面

5-20校园信息发布界面

5-21信息服务系统界面

5-22新闻信息查询界面

主要实现的代码如下所示:

//Createfragmentandgiveitanargumentspecifyingthearticleitshouldshow

ArticleFragmentnewFragment=newArticleFragment();

Bundleargs=newBundle();

args.putInt(ArticleFragment.ARG_POSITION,position);

newFragment.setArguments(args);

FragmentTransactiontransaction=getSupportFragmentManager().beginTransaction();

//Replacewhateverisinthefragment_containerviewwiththisfragment,

//andaddthetransactiontothebackstacksotheusercannavigateback

transaction.replace(R.id.fragment_container,newFragment); 

transaction.addToBackStack(null);

//Committhetransaction

mit();

4、信息交流功能的实现

在教师信息服务系统中,通过用户主菜单可进入信息交流功能,信息交流包括了与校领导、学生、学生家长、任课老师等进行的信息交流,以及查看留言功能。

5-23信息交流界面

5-24信息交流输入界面

 

5-25信息录入界面

5-26留言查看

主要实现代码如下:

publicclassHeadlinesFragmentextendsListFragment{

OnHeadlineSelectedListenermCallback;

//ContainerActivitymustimplementthisinterface

publicinterfaceOnHeadlineSelectedListener{

publicvoidonArticleSelected(intposition);

}

@Override

publicvoidonAttach(Activityactivity){

super.onAttach(activity);

//Thismakessurethatthecontaineractivityhasimplemented

//thecallbackinterface.Ifnot,itthrowsanexception

try{

mCallback=(OnHeadlineSelectedListener)activity;

}catch(ClassCastExceptione){

thrownewClassCastException(activity.toString()

+"mustimplementOnHeadlineSelectedListener");

}

5、信息分享功能的实现与测试

信息分享功能主要实现图片、语音、其他类文件的上传。

5-27信息分享界面

5-28图片上传界面

5-29信息列表

5-30图片上传输入界面

实现代码如下所示:

publicstaticclassMainActivityextendsActivity

implementsHeadlinesFragment.OnHeadlineSelectedListener{

publicvoidonArticleSelected(intposition){

//TheuserselectedtheheadlineofanarticlefromtheHeadlinesFragment

//Dosomethingheretodisplaythatarticle

ArticleFragmentarticleFrag=(ArticleFragment)

getSupportFragmentManager().findFragmentById(R.id.article_fragment);

if(articleFrag!

=null){

//Ifarticlefragisavailable,we'reintwo-panelayout

//CallamethodintheArticleFragmenttoupdateitscontent

articleFrag.updateArticleView(position);

}else{

//Otherwise,we'reintheone-panelayoutandmustswapfrags

//Createfragmentandgiveitanargumentfortheselectedarticle

ArticleFragmentnewFragment=newArticleFragment();

Bundleargs=newBundle();

args.putInt(ArticleFragment.ARG_POSITION,position);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1