mardi 20 octobre 2015

Creating sqlite database in android studio [duplicate]

This question already has an answer here:

In android studio I just want to create a quiz application using sqlite database. I am using quizhelper and quiz_activity class. Now the quiz-activity fails to load. Can anyone help me with this??

public class Quizhelper extends SQLiteOpenHelper {
    private static final int DATABASE_VERSION = 1;  
    private static final String DATABASE_NAME = "cricQuiz";
    private static final String TABLE_QUEST = "quest";
    private static final String KEY_ID = "id";
    private static final String QTN = "qtn";
    private static final String KEY_QPNA = "opnA";
    private static final String KEY_QPNB = "opnB";
    private static final String KEY_QPNC = "opnC";
    private static final String KEY_ANS = "answer";
    private SQLiteDatabase dbase;

    public Quizhelper(Context context){
        super(context, DATABASE_NAME, null , DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        dbase=db;
        db.execSQL("CREATE TABLE" + TABLE_QUEST + "(" + KEY_ID + "INTEGER PRIMARY KEY," + QTN + "TEXT," + KEY_QPNA + "TEXT," + KEY_QPNB + "TEXT," + KEY_QPNC + "TEXT," + KEY_ANS + "TEXT);");
        addQuestions();
        dbase.close();
    }

    private void addQuestions() {
        int n=1;
        Question q1=new Question(n,"Which company is the largest manufacturer of network equipment?","HP", "IBM", "CISCO","C");
        this.addQuestion(q1);
        n++;
        Question q2=new Question(n,"Which of the following is NOT an operating system?", "SuSe", "BIOS", "DOS","B");
        this.addQuestion(q2);
        n++;
        /*

         more questions...

         */
    }

    @Override   
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS "+TABLE_QUEST);
        onCreate(db);
    }

    public void addQuestion(Question quest){
        dbase = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(QTN,quest.getQuestion());
        values.put(KEY_ID,quest.getId());
        values.put(KEY_QPNA,quest.getOpnA());
        values.put(KEY_QPNB,quest.getOpnB());
        values.put(KEY_QPNC,quest.getOpnC());
        values.put(KEY_ANS,quest.getAnswer());
        dbase.insert(TABLE_QUEST,null,values);
    }

    public List<Question> getAllQuestions()
    {
        List<Question> quesList = new ArrayList<Question>();
        String selectQuery = "SELECT * FROM"+TABLE_QUEST;
        dbase=this.getReadableDatabase();
        Cursor cursor = dbase.rawQuery(selectQuery,null);

        if(cursor.moveToFirst()){
            do {
                Question quest = new Question();
                quest.setId(cursor.getInt(0));
                quest.setQuestion(cursor.getString(1));
                quest.setOpnA(cursor.getString(2));
                quest.setOpnB(cursor.getString(3));
                quest.setOpnC(cursor.getString(4));
                quest.setAnswer(cursor.getString(5));

            } while (cursor.moveToNext());
        }
       return quesList;
    }

    public int rowcount()
    {
        int row=0;
        String selectQuery = "SELECT * FROM"+TABLE_QUEST;
        SQLiteDatabase db = this.getWritableDatabase();
        Cursor cursor = db.rawQuery(selectQuery,null);
        row=cursor.getCount();
        return row;
    }
}

Here,s quiz activity

public class next_activity extends ActionBarActivity {

    public List<Question> ql;
    public int score=0,p=0;
    public int qid = 0;

    public Question currentq;
    public TextView ques,score1;
    public RadioButton ra,rb,rc,rd;
    public Button bn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.quiz_act);
        Quizhelper qz = new Quizhelper(this);
        ql=qz.getAllQuestions();
        currentq=ql.get(qid);
        ....................
        ............
    }
}

Aucun commentaire:

Enregistrer un commentaire