论文部分内容阅读
摘要:为开发出操作简便、界面友好、工作效率高的学生信息管理系统,本文研究了在Android开发平台下学生信息管理系统的设计与实现过程。该系统的Android客户端与服务器之间的通信采用JSON技术,实现了学生信息添加、删除和修改等功能。应用程序采用Java语言开发完成,并在智能手机上通过测试。
关键词:Android平台;学生信息管理系统;设计与实现
0 引言
移动终端发展迅速,智能手机不仅丰富了人们的娱乐生活,同时提高了人们的工作效率,为日常生活提供了极大便利。学生信息管理作为学校日常工作重要的一部分,势必要跟随时代的潮流。目前,学生信息管理主要是通过校园的网站进行管理,必须要有一台电脑才能进行操作,存在一定的局限性[1]。
如今智能手机已成为大多数人日常生活中不可或缺的一部分,可以给生活提供便利,给工作增加效率。Android系统是谷歌于2007年公布的开放式源代码手机系统,它的服务具有免费性,并且其开放性优于其它封闭式的手机系统。因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写,越来越多的人关注这个操作系统。基于Android平台的个性化、多样化手机应用程序也层出不穷,如快捷打车、电子钱包、个人理财、社交应用等,涉及工作、生活、娱乐的方方面面。因此,为提高工作效率,开发出操作简便、界面人性化的学生信息管理系统是非常有必要的。
1 相关技术
1.1 Servlet
Servlet[2]是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。Java Servlet技术为这些应用程序定义了一个特定于HTTP的 Servlet类。
1.2 JSON
JSON[3](JavaScript Object Notation)是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。
1.3 Activity和ListActivity
Activity[4,5,6,7]是Android组件中最基本也是最为常见用的四大组件之一,它所有操作都与用户密切相关,是一个负责与用户交互的组件。ListActivity类继承Activity类,默认绑定了一个ListView(列表视图)界面组件,并提供一些与列表视图、处理相关的操作。
2 系统分析与设计
学生信息管理系统基于Android 2.3开发,是一个简单而实用的校园信息管理系统,提高校园信息管理的效率,降低校园信息管理中的错误率,提升校园凝结力,为学校学生工作带来更大的便捷。校园信息管理系统设定四种用户身份,分别是管理员、学校领导、教师和学生[8,9]。各用户可以通过此系统即时了解学校的最新资讯,不同的身份相对应不同的功能权限:教师通过该系统可以随时随地查看学生信息,能更好的了解班级同学,增进师生感情;学生查询期末考试成绩更加方便,并且可以及时了解到在班级的排名情况。其系统结构如图 1所示。
本系统移动终端开发采用基于Android系统平台的Eclipse作为开发平台,它是一个开放源代码、基于Java的可扩展开发平台,并且这是目前唯一可以用作Android应用软件开发平台。使用Eclipse作为Android软件开发平台需要安装Android开发所用到的软件开发包Android SDK,它的开发包采用了Java语言,所以需要先安装JDK 5.0及以上版本。除此之外,还需在Eclipse上安装一个ADT插件,用于启动一个手机模拟器来模拟真实的手机环境或者与真机建立连接,方便了软件的设计与开发。因此,选择基于Android系统平台的Eclipse作为开发平台。
后台数据库采用SQL Server 2005来管理学生信息这些数据。SQL Server 2005使用关系型数据作为数据引擎和结构化数据提供了更安全可靠的存储功能,适合中小型企业的数据管理和分析平台,对于构建和管理可用性强和高性能的应用程序有很大帮助。因此,本系统选择SQL Server 2005作为开发后台的数据库平台。
后台服务器采用Tomcat服务器控制和管理数据库数据[10]。该系统采用的版本为Tomcat 6.0作为后台服务器,是一个开源的Web应用服务器,它配置起来非常方便,是一个轻量级服务器。该系统使用Tomcat服务器作为移动终端与数据库之间通信的桥梁,移动终端将要进行的操作命令发送给Tomcat服务器,Tomcat服务器运用Servlet技术进行接受,之后根据命令对数据库进行操作,并将结果返回给客户端,避免了客户端直接操作数据库带来的危害。因此,本系统选择Tomcat 6.0作为后台服务器,负责管理与控制后台数据库。
3 数据库设计
本系统使用SQL Server 2005作为后台数据库,通过对各用户信息及其逻辑关系的整理,生成相应的数据表[11,12]。其主要包括的表有:用户信息表(users)、班级信息表(classes)、课程信息表(courses)、发布信息表(messages)、选课表(sc)、班级成员表(class_members)。其个字段如下:
用户信息:包括用户的账号、密码、姓名、性别、学院、专业、出生年月、入校日期和权限。
班级信息:包括班级号、班级名、班主任、学院和班级人数。 课程信息:包括课程号、课程名、课程简介、任课老师和所占学分。
发布消息:包括消息编号、信息内容、发布人,发布时间。
选课信息:包括学号、课程号、成绩
班级成员信息:包括班级号、学号、备注。
其中users表结构如表1所示。
4 系统实现
4.1 客户端界面
客户端各界面主要使用Linearlayout布局,各界面之间使用Intent类进行转换,intent.setClass()方法有两个参数,第一个参数为当前界面,第二个参数为要跳转的界面,再调用Intent.start()进行跳转。学生信息、课程信息和成绩等通过ListView逐行显示[13]。学生信息管理中点击学生信息所在行可以对学生信息进行修改或删除操作,具体界面如图2所示。
4.2 客户端与服务器通信
客户端与服务器通信之前会先进行判断数据输入是否齐全,然后再把这些数据通过JSONObjec类生成一个JSON数据,使用httpPostResquest.requestHttp()方法将该JSON数据发送给服务器,服务器使用req.getParameter()方法接收数据。在接收到学生信息之后服务器需要使用JSONObject类进行解析,再将其保存到数据库中,并将结果返回给客户端。客户端使用httpPostResquest.getWebContext()方法接受服务器返回结果。
客户端主要代码:
HttpPostResquest httpPostResquest = new HttpPostResquest();
int status = httpPostResquest.requestHttp(UriAPI.URL +"studentinfo", new String []{" class_id "}, new String[] { class_id.getText().toString()});
String string = httpPostResquest.getWebContext();
JSONObject jsonObject = new JSONObject( string );
id = jsonObject.getString( "id" );
name = jsonObject.getString( "name" );
sex = jsonObject.getString( "sex" );
college = jsonObject.getString( "college" );
major = jsonObject.getString( "major" );
服务器端主要代码:
res.setContentType( "text/html;charset=utf-8" );
PrintWriter pw = res.getWriter();
String class_id = req.getParameter( "class_id" );
ConnDB connDB = new ConnDB();
ct = connDB.getConn();
st = ct.createStatement();
rs = st.executeQuery( "select * from users , classes where grade = 4 and users.id = classes.student_id and classes.class_id = " + class_id +"");
JSONArray students = new JSONArray();
if( rs.next() )
{ JSONObject student = new JSONObject();
student.put( "id" , rs.getString( 1 ) );
student.put( "name", rs.getString( 2 ) );
student.put( "sex" , rs.getString( 3 ) );
student.put( "college", rs.getString( 4 ) );
student.put( "major" , rs.getString( 5 ) );
students.put( student );}
pw.print( students.toString() );
4.3 数据库操作
后台数据库采用SQL Server 2005来管理学生信息这些数据。首先定义ConnectDB类,在该类中实现getConnection()方法连接数据库,其返回类型为Connection,用这个方法管理后台数据库的连接。其主要代码如下:
public Connection getConnection ()
{ try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
ct=DriverManager.getConnection( " jdbc:microsoft:sqlserver://localhost:1433 ; DatabaseName = StudentsManager","sa","123"); } catch(Exception e){e.printStackTrace(); }
return ct; }
5 结束语
本文主要介绍基于Android平台的学生信息管理系统的设计过程,将传统的学生信息管理系统移植到移动设备,并从技术和软件实现两个方面进行了阐述和介绍。它主要完成了学生信息的管理、班级信息的管理、课程信息的管理、学生成绩的管理和消息发布管理等功能。该平台的设计与实现为用户提供了一个方便快捷的学习途径,同时为类似Android开发提供参考。
参考文献:
[1] 池亚平,方勇.Servlet技术与应用方法[J].2003(26): 137-143.
[2] 王晓禹,石丽.基于JSON实现Android智能终端与Web服务器“面向对象”的信息交换[J].2012:224-225.
[3] 胡伟.Android系统架构及其驱动研究[J].广州广播电视大学学报,2008(4):96-101.
[4] 关晶鑫,李永全.Android中的Activity生命周期[J].电脑知识与技术,2013,9(11):2713-2117.
[5] 段琳. 深入剖析Android Activity[J]. 中国新技术新产品,2011(16):33-34.
[6] 夏德冰,陈庆奎. Android应用中一种Activity窗口管理系统[J]. 计算机系统应用,2012,21(6):224-227.
[7] 汪洋,钱贵平,王一宾.高校学生信息管理系统的设计与实现[J].电脑学习,2006(1):3-4.
[8] 王晓乔. 学生信息管理系统设计与分析[J]. 湘潭师范学院学报(自然科学版),2003,25(3):30-34.
[9] 俞波,周皓峰.一种基于Web的学生信息管理系统[J].计算机与现代化,2000(2):55-60.
[10] 齐学忠. 信息系统中的数据库设计与性能优化[J]. 计算机工程与应用,2000:175-176
[11] 李石山,盖淑华. 信息系统开发中的数据库设计[J]. 辽宁工程技术大学学报(自然科学版), 2000,19(1):65-67.
[12] 陈昱,江兰帆.基于Google Android平台的移动开发研究[J],2008(11):156-157.
关键词:Android平台;学生信息管理系统;设计与实现
0 引言
移动终端发展迅速,智能手机不仅丰富了人们的娱乐生活,同时提高了人们的工作效率,为日常生活提供了极大便利。学生信息管理作为学校日常工作重要的一部分,势必要跟随时代的潮流。目前,学生信息管理主要是通过校园的网站进行管理,必须要有一台电脑才能进行操作,存在一定的局限性[1]。
如今智能手机已成为大多数人日常生活中不可或缺的一部分,可以给生活提供便利,给工作增加效率。Android系统是谷歌于2007年公布的开放式源代码手机系统,它的服务具有免费性,并且其开放性优于其它封闭式的手机系统。因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写,越来越多的人关注这个操作系统。基于Android平台的个性化、多样化手机应用程序也层出不穷,如快捷打车、电子钱包、个人理财、社交应用等,涉及工作、生活、娱乐的方方面面。因此,为提高工作效率,开发出操作简便、界面人性化的学生信息管理系统是非常有必要的。
1 相关技术
1.1 Servlet
Servlet[2]是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。Java Servlet技术为这些应用程序定义了一个特定于HTTP的 Servlet类。
1.2 JSON
JSON[3](JavaScript Object Notation)是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。
1.3 Activity和ListActivity
Activity[4,5,6,7]是Android组件中最基本也是最为常见用的四大组件之一,它所有操作都与用户密切相关,是一个负责与用户交互的组件。ListActivity类继承Activity类,默认绑定了一个ListView(列表视图)界面组件,并提供一些与列表视图、处理相关的操作。
2 系统分析与设计
学生信息管理系统基于Android 2.3开发,是一个简单而实用的校园信息管理系统,提高校园信息管理的效率,降低校园信息管理中的错误率,提升校园凝结力,为学校学生工作带来更大的便捷。校园信息管理系统设定四种用户身份,分别是管理员、学校领导、教师和学生[8,9]。各用户可以通过此系统即时了解学校的最新资讯,不同的身份相对应不同的功能权限:教师通过该系统可以随时随地查看学生信息,能更好的了解班级同学,增进师生感情;学生查询期末考试成绩更加方便,并且可以及时了解到在班级的排名情况。其系统结构如图 1所示。
本系统移动终端开发采用基于Android系统平台的Eclipse作为开发平台,它是一个开放源代码、基于Java的可扩展开发平台,并且这是目前唯一可以用作Android应用软件开发平台。使用Eclipse作为Android软件开发平台需要安装Android开发所用到的软件开发包Android SDK,它的开发包采用了Java语言,所以需要先安装JDK 5.0及以上版本。除此之外,还需在Eclipse上安装一个ADT插件,用于启动一个手机模拟器来模拟真实的手机环境或者与真机建立连接,方便了软件的设计与开发。因此,选择基于Android系统平台的Eclipse作为开发平台。
后台数据库采用SQL Server 2005来管理学生信息这些数据。SQL Server 2005使用关系型数据作为数据引擎和结构化数据提供了更安全可靠的存储功能,适合中小型企业的数据管理和分析平台,对于构建和管理可用性强和高性能的应用程序有很大帮助。因此,本系统选择SQL Server 2005作为开发后台的数据库平台。
后台服务器采用Tomcat服务器控制和管理数据库数据[10]。该系统采用的版本为Tomcat 6.0作为后台服务器,是一个开源的Web应用服务器,它配置起来非常方便,是一个轻量级服务器。该系统使用Tomcat服务器作为移动终端与数据库之间通信的桥梁,移动终端将要进行的操作命令发送给Tomcat服务器,Tomcat服务器运用Servlet技术进行接受,之后根据命令对数据库进行操作,并将结果返回给客户端,避免了客户端直接操作数据库带来的危害。因此,本系统选择Tomcat 6.0作为后台服务器,负责管理与控制后台数据库。
3 数据库设计
本系统使用SQL Server 2005作为后台数据库,通过对各用户信息及其逻辑关系的整理,生成相应的数据表[11,12]。其主要包括的表有:用户信息表(users)、班级信息表(classes)、课程信息表(courses)、发布信息表(messages)、选课表(sc)、班级成员表(class_members)。其个字段如下:
用户信息:包括用户的账号、密码、姓名、性别、学院、专业、出生年月、入校日期和权限。
班级信息:包括班级号、班级名、班主任、学院和班级人数。 课程信息:包括课程号、课程名、课程简介、任课老师和所占学分。
发布消息:包括消息编号、信息内容、发布人,发布时间。
选课信息:包括学号、课程号、成绩
班级成员信息:包括班级号、学号、备注。
其中users表结构如表1所示。
4 系统实现
4.1 客户端界面
客户端各界面主要使用Linearlayout布局,各界面之间使用Intent类进行转换,intent.setClass()方法有两个参数,第一个参数为当前界面,第二个参数为要跳转的界面,再调用Intent.start()进行跳转。学生信息、课程信息和成绩等通过ListView逐行显示[13]。学生信息管理中点击学生信息所在行可以对学生信息进行修改或删除操作,具体界面如图2所示。
4.2 客户端与服务器通信
客户端与服务器通信之前会先进行判断数据输入是否齐全,然后再把这些数据通过JSONObjec类生成一个JSON数据,使用httpPostResquest.requestHttp()方法将该JSON数据发送给服务器,服务器使用req.getParameter()方法接收数据。在接收到学生信息之后服务器需要使用JSONObject类进行解析,再将其保存到数据库中,并将结果返回给客户端。客户端使用httpPostResquest.getWebContext()方法接受服务器返回结果。
客户端主要代码:
HttpPostResquest httpPostResquest = new HttpPostResquest();
int status = httpPostResquest.requestHttp(UriAPI.URL +"studentinfo", new String []{" class_id "}, new String[] { class_id.getText().toString()});
String string = httpPostResquest.getWebContext();
JSONObject jsonObject = new JSONObject( string );
id = jsonObject.getString( "id" );
name = jsonObject.getString( "name" );
sex = jsonObject.getString( "sex" );
college = jsonObject.getString( "college" );
major = jsonObject.getString( "major" );
服务器端主要代码:
res.setContentType( "text/html;charset=utf-8" );
PrintWriter pw = res.getWriter();
String class_id = req.getParameter( "class_id" );
ConnDB connDB = new ConnDB();
ct = connDB.getConn();
st = ct.createStatement();
rs = st.executeQuery( "select * from users , classes where grade = 4 and users.id = classes.student_id and classes.class_id = " + class_id +"");
JSONArray students = new JSONArray();
if( rs.next() )
{ JSONObject student = new JSONObject();
student.put( "id" , rs.getString( 1 ) );
student.put( "name", rs.getString( 2 ) );
student.put( "sex" , rs.getString( 3 ) );
student.put( "college", rs.getString( 4 ) );
student.put( "major" , rs.getString( 5 ) );
students.put( student );}
pw.print( students.toString() );
4.3 数据库操作
后台数据库采用SQL Server 2005来管理学生信息这些数据。首先定义ConnectDB类,在该类中实现getConnection()方法连接数据库,其返回类型为Connection,用这个方法管理后台数据库的连接。其主要代码如下:
public Connection getConnection ()
{ try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
ct=DriverManager.getConnection( " jdbc:microsoft:sqlserver://localhost:1433 ; DatabaseName = StudentsManager","sa","123"); } catch(Exception e){e.printStackTrace(); }
return ct; }
5 结束语
本文主要介绍基于Android平台的学生信息管理系统的设计过程,将传统的学生信息管理系统移植到移动设备,并从技术和软件实现两个方面进行了阐述和介绍。它主要完成了学生信息的管理、班级信息的管理、课程信息的管理、学生成绩的管理和消息发布管理等功能。该平台的设计与实现为用户提供了一个方便快捷的学习途径,同时为类似Android开发提供参考。
参考文献:
[1] 池亚平,方勇.Servlet技术与应用方法[J].2003(26): 137-143.
[2] 王晓禹,石丽.基于JSON实现Android智能终端与Web服务器“面向对象”的信息交换[J].2012:224-225.
[3] 胡伟.Android系统架构及其驱动研究[J].广州广播电视大学学报,2008(4):96-101.
[4] 关晶鑫,李永全.Android中的Activity生命周期[J].电脑知识与技术,2013,9(11):2713-2117.
[5] 段琳. 深入剖析Android Activity[J]. 中国新技术新产品,2011(16):33-34.
[6] 夏德冰,陈庆奎. Android应用中一种Activity窗口管理系统[J]. 计算机系统应用,2012,21(6):224-227.
[7] 汪洋,钱贵平,王一宾.高校学生信息管理系统的设计与实现[J].电脑学习,2006(1):3-4.
[8] 王晓乔. 学生信息管理系统设计与分析[J]. 湘潭师范学院学报(自然科学版),2003,25(3):30-34.
[9] 俞波,周皓峰.一种基于Web的学生信息管理系统[J].计算机与现代化,2000(2):55-60.
[10] 齐学忠. 信息系统中的数据库设计与性能优化[J]. 计算机工程与应用,2000:175-176
[11] 李石山,盖淑华. 信息系统开发中的数据库设计[J]. 辽宁工程技术大学学报(自然科学版), 2000,19(1):65-67.
[12] 陈昱,江兰帆.基于Google Android平台的移动开发研究[J],2008(11):156-157.