没有合适的资源?快使用搜索试试~ 我知道了~
Android答题APP的设计与实现
27 下载量 5 浏览量
2021-01-20
09:56:24
上传
评论 5
收藏 280KB PDF 举报
温馨提示
试读
20页
还没有整理完,待续…… 学校开了Android课,最后让交一个大作业。正好拿来练练手,记录下思路。也希望能给有需要的朋友们一些帮助。恩,纯小白教程,大神们可以绕路了。 作业的题目是这样的: 考试APP系统: 1)要求有用户登陆功能:从远程服务器进行登陆验证。 2)要有考试测试界面,主要是选择、判断、简答题目测试。 3)要有统计成绩界面和错题显示界面。 评分标准: 1、界面设计占评分的30% 2、系统运行正确; 功能完善;工作量充分; 系统实现有一定的技术的难度。50% 3、要求有适当的系统主要模块的文档说明和代码注释。 4、直接将数据库文件(数据库一定要备份成
资源详情
资源评论
资源推荐
Android答题答题APP的设计与实现的设计与实现
还没有整理完,待续……
学校开了Android课,最后让交一个大作业。正好拿来练练手,记录下思路。也希望能给有需要的朋友们一些帮助。恩,纯小
白教程,大神们可以绕路了。
作业的题目是这样的:
考试APP系统:
1)要求有用户登陆功能:从远程服务器进行登陆验证。
2)要有考试测试界面,主要是选择、判断、简答题目测试。
3)要有统计成绩界面和错题显示界面。
评分标准:
1、界面设计占评分的30%
2、系统运行正确; 功能完善;工作量充分; 系统实现有一定的技术的难度。50%
3、要求有适当的系统主要模块的文档说明和代码注释。
4、直接将数据库文件(数据库一定要备份成SQL语句格式,指明数据库)和项目文件提交。
乍一看挺简单的,真要研究起来,写的实用一些,还真有点不知如何下手,那跟着我的思路,一起来吧!恩,不想看思路的,
可以直接戳Android源码下载源码来看了。
功能需求设计:功能需求设计:
登录注册
答题:选择题,判断题,简答题
答题得分计算
错题查看
最后效果最后效果
总体思路总体思路
总体思路是这样的,App通过http连接服务器,进行登录或者注册服务,登录成功之后,服务器查询数据库并以json的形式返
回试题数据。App接收数据之后,解析并存到本地数据库,然后展示给用户答题。点击交卷按钮后,进行评分并可进行错题查
看。内容比较杂乱,大家可以根据目录来快速查看自己需要或者感兴趣的地方。
数据库设计数据库设计
首先,就登录注册的功能来说,得先有一个用户表,包含用户名,密码,id号这些基本的内容。我在这里又加了一个权限字
段,用来返回状态。(设置权限字段,方便日后进行扩展,可设置用不同数字代表不同等级或身份)
tbl_user_info
其次,就是题库了。为了使项目具有实用性,减小安装包体积,便于更新修正,题库同样也需要放在服务器上才合适。
tbl_question
jsp程序程序
jsp依赖了两个jar包,分别是连接mysql的驱动:mysql-connector-java-5.1.34-bin还有生成json用的:json 。为了减少代码的
耦合性,这里采用MVC模式进行设计。(自以为是MVC)。目录结构如下:
登录注册登录注册
1.连接数据库
数据库操作类,封装了连接,查询,关闭数据库的方法。大家如果使用这部分代码,别忘了把数据库连接常量改成自己的。
//****连接数据库**DBManager***
public class DBManager {
// 数据库连接常量
public static final String DRIVER = "com.mysql.jdbc.Driver";
public static final String USER = "root";
public static final String PASS = "root";
public static final String URL = "jdbc:mysql://localhost:3306/shop";
// 静态成员,支持单态模式
private static DBManager per = null;
private Connection conn = null;
private Statement stmt = null;
// 单态模式-懒汉模式
private DBManager() {
}
public static DBManager createInstance() {
if (per == null) {
per = new DBManager();
per.initDB();
}
return per;
}
// 加载驱动
public void initDB() {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
e.printStackTrace();
}
}
// 连接数据库,获取句柄+对象
public void connectDB() {
System.out.println("Connecting to database...");
try {
conn = DriverManager.getConnection(URL, USER, PASS);
stmt = conn.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println("SqlManager:Connect to database successful.");
}
// 关闭数据库 关闭对象,释放句柄
public void closeDB() {
System.out.println("Close connection to database..");
try {
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println("Close connection successful");
}
// 查询
public ResultSet executeQuery(String sql) {
ResultSet rs = null;
try {
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
// 增添/删除/修改
public int executeUpdate(String sql) {
int ret = 0;
try {
ret = stmt.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return ret;
}
}
2.登录
客户端提交过来一个用户名,一个密码,jsp连接数据库查询,如果两者都符合,返回登录成功信息,否则返回登录失败信
息。(我这里用权限来代表,当权限>-1即为登录成功)。
3.注册
剩余19页未读,继续阅读
weixin_38557068
- 粉丝: 4
- 资源: 863
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0