图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
...