Android实现简单的答题系统实现简单的答题系统
本文实例为大家分享了Android实现答题系统的具体代码,供大家参考,具体内容如下
Question:
package com.example.lenovo.exam;
/**
* Created by lenovo on 2017/12/4.
*/
//保存从数据库中读取的记录
public class Question {
public String question;
public String answerA;
public String answerB;
public String answerC;
public String answerD;
public int answer;
public String explaination;
public int ID ;
//用户选择的答案
public int selectedAnswer;
}
DBService:
使用android自带数据库,下载SQLite Database Browser对数据库进行操作
src main文件夹下创建assests文件夹(此文件夹下的内容在应用被打包成apk时不会被压缩)(存放试题数据库)
在数据库启动时,将该数据库文件复制到数据库目录下
package com.example.lenovo.exam;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import java.util.ArrayList;
import java.util.List;
/**
* Created by lenovo on 2017/12/4.
*/
//连接数据库,并从数据库中获取所需数据
public class DBService {
private SQLiteDatabase db;
//在构造函数中打开指定数据库,并把它的引用指向db
public DBService(){
db=SQLiteDatabase.openDatabase("/data/data/com.example.lenovo.exam/databases/question.db" +
"",null,SQLiteDatabase.OPEN_READWRITE);
}
//获取数据库中的问题
public List<Question> getQuestion(){
List<Question> list=new ArrayList<Question>();
/*
Cursor是结果集游标,用于对结果集进行随机访问,其实Cursor与JDBC中的ResultSet作用很相似。
rawQuery()方法的第一个参数为select语句;第二个参数为select语句中占位符参数的值,如果select语句没有使用占位符,该
参数可以设置为null。*/
Cursor cursor =db.rawQuery("select * from question",null);
if(cursor.getCount()>0){
cursor.moveToFirst();//将cursor移动到第一个光标上
int count=cursor.getCount();
//将cursor中的每一条记录生成一个question对象,并将该question对象添加到list中
for(int i=0;i<count;i++){
cursor.moveToPosition(i);
Question question =new Question();
question.ID=cursor.getInt(cursor.getColumnIndex("ID"));
question.question=cursor.getString(cursor.getColumnIndex("question"));
评论0