基于android的学生考勤系统 下载本文

内容发布更新时间 : 2024/11/16 18:51:56星期一 下面是文章的全部内容请认真阅读。

图4.7 课程签到信息

如添加学生签到记录,即学生到课信息:已到,迟到,缺席,添加某学生的到课信息的SQL语句为(例如姓名为141,时间为第一课时,也可为日期)

添加学生到课信息的SQL语句如下: Insert into attendance

(studentname,coursename,timeInfo,attendancestate) Values (’141’,’java’,’第一课时’,’已到’) 添加了某学生的java到课记录。如图4.8所示

...

图4.8 添加签到信息

4.2服务器端模块

4.2.1通讯数据格式定义

服务器端主要用来接收客户端发来的信息,进行相应的操作,并将数据返回给客户端,同时对服务器端数据库进行管理。

本系统利用Socket机制实现服务器端与客户端之间数据的传送,并且要对数据格式进行规范。服务器端向客户端发送数据的格式定义为表4-1的形式。

表4-1 客户端向服务器端发送数据的格式

头信息 0 客户端IP地址 202.124.252.2 信息内容 XXXX 头信息定义为:0该信息为请求下载数据库文件和传递用户参数,1该信息为请求添加数据,2该信息为请求删除数据,3该信息为请求删除数据。服务器端向客户端发送数据的格式定义为表4-2的形式。

表4-2 服务器端向客户端发送数据的格式

头信息 0 ...

服务器端IP地址 193.154.2.3 信息内容 XXXXX

头信息定义为:1该信息为数据库文件,2该信息为操作返回信息。

4.2.2通讯数据格式定义

服务器端接收客户端的请求信息,通过建立一个一直运行的线程保持监听客户端发来的请求信息。部分代码如下:

n private class ServerThread extends Thread {//接收信息线程

public void run()

{ //声明一个ServerSocket对象 ServerSocket server= null; while(true){//无线循环 try{

server = new ServerSocket(4567);//定义接受端口 client = server.accept();//

in = new BufferedReader(new InputStreamReader( client.getInputStream()));//定义输入流 this.request = in.readLine();//获取信息

this.head = this.request.substring(0,1);//剥离头信息 if(this.head.equals(“0”)){//判断头信息 … } … }

数据库参数请求格式如下:(以添加为例) Insert into table1,table2,table3

(context1,context2,context3,context4,context5,context6, context7,context8,context9,context10) Values (?,?,?,?,?)

在本系统所用添加删除修改最多不超过三个表,添加内容不会超过10个内

...

容,传递数据时参数形式为:

data[]=new byte[1024],

data[]={“table1”, “table2” , “table3”,“context1” ,“context2” ,

“context3” ,“context4” ,“context5” ,“context6” ,“context7” ,

“context8” ,“context9” ,“context10”}

其中若table或context为空,我们统一设定其为-1。同样,修改,删除形式如上。

4.2.3发送返回数据模块

在服务器端接收到客户端发来的请求时,服务器端将从数据库中查询相关内容返回给客户端。

将模拟器的4567端口绑定到4568端口,代码如下: Runtime.getRun().exec(this.ADB_PATH+”forward tcp:4568 tcp:4567”);

Qizhong ADB_PATH为adb即为Android Debug Bridge所在路径。绑定端口后,想模拟器4567端口发送的信息其实是通过4568端口发送的。

服务器端发送返回数据的代码如下:

Socket client=new Socket(“localhost”,4567); ObjectOutputStream out=new

ObjectOutputStream(client.getOutputSrtream());

Out.writeObject(data);//data为数据内容

4.3网页客户

为了更好的对学生考勤信息进行管理,设计了一个网页客户,管理员通过此客户端可以对学生、老师和学生考勤信息等信息进行管理。

网页客户端主要分为这些模块:登录功能模块,课程信息管理功能模块,签

...

到管理功能模块,学生信息管理功能模块等。

4.3.1登录模块

(1)登录模块同样用于用户身份的验证,在服务器端验证用户名与密码正确与否,如图4.9所示。

图4.9网页端登录界面

(2)若登录用户名或密码错误则提示错误,如图4.10所示。

图4.10登录信息提示

4.3.2学生信息管理模块

学生信息管理模块功能是管理员可以选择查询的学生,查看某学生相关信息。也可修改学生的信息和添加学生信息,还可以删除某学生信息。如图4.11

...