android答题系统(二):实现主界面入口和查询数据
16lz
2021-01-23
main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.mytest.exam.MainActivity" > <Button android:id="@+id/btn_exam" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="52dp" android:text="开始答题" /></RelativeLayout>View Code
MainActivity
package com.mytest.exam;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;public class MainActivity extends Activity { private Button btnExam; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); loadDB(); btnExam = (Button) this.findViewById(R.id.btn_exam); btnExam.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, ExamActivity.class); startActivity(intent); } }); } /** * 加载数据库 */ private void loadDB() { File file = new File(DBService.DB_PATH + DBService.DB_NAME); if (file.exists() == false) { File dir = new File(DBService.DB_PATH); dir.mkdir(); } try { InputStream is = getBaseContext().getAssets().open(DBService.DB_NAME); OutputStream os = new FileOutputStream(file); byte[] buff = new byte[1024]; int len = 0; while ((len = is.read(buff)) > 0) { os.write(buff, 0, len); } os.flush();// 必须调用 os.close(); is.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}View Code
DBService
package com.mytest.exam;import java.util.ArrayList;import java.util.List;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;public class DBService { public static final String DB_PATH = "/data/data/com.mytest.exam/databases/"; public static final String DB_NAME = "question.db"; private SQLiteDatabase db; public DBService() { this.db = SQLiteDatabase.openDatabase(DB_PATH + DB_NAME, null, SQLiteDatabase.OPEN_READWRITE); } public List<Question> getQuestions() { List<Question> list = new ArrayList<Question>(); Cursor cursor = db.rawQuery("select * from question ", null); if (cursor != null && cursor.getCount() > 0) { int count = cursor.getCount(); for (int i = 0; i < count; i++) { cursor.moveToPosition(i); Question question = new Question(); question.question = cursor.getString(cursor.getColumnIndex("question")); question.answerA = cursor.getString(cursor.getColumnIndex("answerA")); question.answerB = cursor.getString(cursor.getColumnIndex("answerB")); question.answerC = cursor.getString(cursor.getColumnIndex("answerC")); question.answerD = cursor.getString(cursor.getColumnIndex("answerD")); question.answer = cursor.getInt(cursor.getColumnIndex("answer")); question.ID = cursor.getInt(cursor.getColumnIndex("ID")); question.explain = cursor.getString(cursor.getColumnIndex("explaination")); question.selectedAnswer = -1; list.add(question); } } return list; }}View Code
Question
package com.mytest.exam;public class Question { public String question; public String answerA; public String answerB; public String answerC; public String answerD; public int answer; public String explain; public int ID; public int selectedAnswer; public String getQuestion() { return question; } public void setQuestion(String question) { this.question = question; } public String getAnswerA() { return answerA; } public void setAnswerA(String answerA) { this.answerA = answerA; } public String getAnswerB() { return answerB; } public void setAnswerB(String answerB) { this.answerB = answerB; } public String getAnswerC() { return answerC; } public void setAnswerC(String answerC) { this.answerC = answerC; } public String getAnswerD() { return answerD; } public void setAnswerD(String answerD) { this.answerD = answerD; } public int getAnswer() { return answer; } public void setAnswer(int answer) { this.answer = answer; } public String getExplain() { return explain; } public void setExplain(String explain) { this.explain = explain; } public int getID() { return ID; } public void setID(int iD) { ID = iD; } public int getSelectedAnswer() { return selectedAnswer; } public void setSelectedAnswer(int selectedAnswer) { this.selectedAnswer = selectedAnswer; }}View Code
更多相关文章
- Android一个大众化的设置界面
- Android跨进程通信传输大数据
- Android安装以及Eclipse插件(Google Android) ,在Android 中goog
- android计算器布局界面——基础编
- Android 音频 OpenSL ES PCM数据播放
- [Android UI界面] Android UI 设计准则
- Android在内存中读取数据
- android 列表 数据显示总结
- Android 一个apk多个入口