基于JAVA与MySQL数据库的移动端题库练习系统的设计与实现
2022-02-14李艳杰
李艳杰
(山东华宇工学院,山东 德州 253034)
JAVA语言是近五年来位居编程排行前3位的语言,应用非常广泛,无论是网站设计还是系统开发都与Java有关。MySQL数据库作为开源数据库,其小而精,有免费和收费的区分,是中小型企业开发系统后台的首选数据库。但是针对移动端系统,数据库的选择要尽量使用平台自带内置数据库SQLite,以方便编辑和后台连接。本系统的设计结合软件工程思想,采用面向对象程序设计方式来实现。
1 系统功能
1.1 存储功能
本系统分为前台和后台,后台利用数据库保存数据,题目类型以单选题和多项题为主。后台数据库可以根据需要设置存储题库的数目,题库练习主要以客观题为主,这样系统可以准确判定对错。
1.2 答题界面
单项选择、多项选择和判断采用不同的答题界面,系统会自动根据试题类型给出当前试题对应的答题界面,每一屏显示一道试题,界面中有“上一题”和“下一题”的答题按钮,练习者可以单击按钮切换答题,也可以前后翻动浏览练习题并作答,练习完成一道题,单击“确定”按钮,可得到正确答案,单击“重新答题”按钮可重新进行答题,也可以单击“纠错”按钮进行纠错。有的题目内容较多,需要上下滑动进行练习,如图1所示。
图1 单选题界面Fig.1 Interface of single choice
2 系统设计
系统设计包括对数据库中表的存储设计、应用界面的设计和应用功能的实现三部分。
2.1 数据库中表的存储设计
经过概念结构设计、逻辑结构设计和物理结构设计,最终得到数据库中的表。物理结构如表1所示。
表1 物理结构Tab.1 Physical structure
2.2 系统界面的设计
该系统练习界面运用嵌套不均设计,嵌套了多个面板,练习题内容、编号、解答控件均在页面中显示。练习题库中的题目是将单选和多选存储在一起,界面中没有安排题型切换按钮,每套题中练习的顺序是按照先单选后多选进行的,但是会有提示和控件类型的转换,单选按钮会变成复选框。
2.3 功能实现的设计
面向对象设计实现需要根据实际要求设计多个类,类与类之间可以体现继承或多态。本系统设计的类如下。
2.3.1 练习题信息类 E_infor
public class E_infor{
int e_id; //练习题编号
String e_content; //练习题内容
String e_typy; //练习题类型
String e_answer; //练习题答案
}
2.3.2 界面类E_frame
界面类的设计包括事件驱动的界面设计和数据的访问处理,这样可以提高访问效率,练习题内容、答案、题型会在此数据库读取,并封装到E_infor类创建的对象中,保存在一个存放引用类型的数组列表E_list中,系统中设置与练习题有关的成员变量,以练习题编号作为索引,连接到数组列表,得到当前相关联的信息,三个变量定义如下:
ArrayList
Int e_sum:存放练习题数量;
Int e_id:存放练习题编号。
除此之外,在此类中还将控件作为成员变量,定义数组分别存放4个单选项和4个复选项,用数组可以循环实现访问。除了成员变量,以下是主要的构造方法和成员方法的设计。
构造方法E_frame():数据的初始化处理、界面的布局显示、注册事件监听等均在此构造方法中实现。
成员方法xianshi():为了方便用户随时翻动题目,查看完成解答的题目及修改答案,解答控件的显示处理在该方法中实现,用户已有解答题项也会进行正确设置。
成员方法access_e():访问数据库,将所有的练习题信息存入到E_list数组中。部分代码如下:
public void access_e(){
int stbn=0;
String url="jdbc:odbc:mydata";
String sql="select * from exispaper";
try{class forName("sun.jdbc.odbc.jdbxOdbcDriver");
Connection con=DriverManager.getConnection(url, "", null);
ResultSet rs=stmt.executQuery(sql);
while(rs.next())
E_infor m=new E_infor();
m.content=rs.getString("content");
m.e_answer=rs.getString("answer");
……
amout=question.size();}
catch(SQLException ex){System.out.println(ex.getMessage());}
catch(java.lang.ClassNotFoundException e){}
}
3 结语
移动端题库练习系统从具体功能和具体设计两方面描述了系统设计过程,由于系统设计代码众多,所以仅仅加入了部分类和方法的代码代替。本系统完成后可以非常方便地随时随地通过移动终端对题库中的习题进行练习,为学生提供了很好的题库练习平台。