mercredi 23 décembre 2015

android: showing data from sqlite to AlertDialog

I'm having problem with my codes. I created 2 tables in android sqlite and I like to show the data from the database using AlertDialog but when I click the view Button it will go back to the previous activity. please check my codes. thank you

My DatabaseHelper :

private static  final String TABLE_CREATE_QUIZ = "create table quiz (QUIZ_ID integer primary key not null ,"+
         "question text not null, answer1 text not null, answer2 text not null, answer3 text not null, answer4 text not null);";

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



 @Override
 public void onCreate(SQLiteDatabase db) {
     db.execSQL(TABLE_CREATE);
     db.execSQL(TABLE_CREATE_QUIZ);
     this.db = db;
 }

 @Override
 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
     String query = "DROP TABLE IF EXISTS "+TABLE_NAME;
     String query1 = "DROP TABLE IF EXISTS "+TABLE_CREATE_QUIZ;
     db.execSQL(query);
     db.execSQL(query1);
     this.onCreate(db);

 }

 public void insertContact(Contact c) {
     db = this.getWritableDatabase();
     ContentValues values = new ContentValues();

     String query = "select * from contacts";
     Cursor cursor = db.rawQuery(query , null);
     int count = cursor.getCount();

     values.put(COLUMN_ID , count);
     values.put(COLUMN_NAME , c.getName());
     values.put(COLUMN_EMAIL , c.getEmail());
     values.put(COLUMN_UNAME, c.getUname());
     values.put(COLUMN_PASS, c.getPass());

     db.insert(TABLE_NAME, null, values);
     db.close();
 }
     public boolean insertQuest(String question, String answer1, String answer2, String answer3, String answer4){
     db = this.getWritableDatabase();
         ContentValues contentValues = new ContentValues();
         String query1 = "select * from quiz";
         Cursor cursor = db.rawQuery(query1 , null);
         int count = cursor.getCount();

         contentValues.put(COLUMN_QUIZ_ID, count);
         contentValues.put(COLUMN_QUESTION, question);
         contentValues.put(COLUMN_ANSWER1, answer1);
         contentValues.put(COLUMN_ANSWER2, answer2);
         contentValues.put(COLUMN_ANSWER3, answer3);
         contentValues.put(COLUMN_ANSWER4, answer4);

         long result = db.insert(TABLE_QUIZ, null, contentValues);
         if(result == -1)
             return false;
         else
         return true;

 }
 public Cursor getAllData(){
     db = this.getWritableDatabase();
     Cursor res = db.rawQuery("select * from"+TABLE_QUIZ,null);
     return res;
 }

My Viewing codes:

public void viewAll(){
        view.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
             Cursor res = helper.getAllData();
                if(res.getCount()== 0){
                    showMessage("Error","Nothing found");
                    return;
                }
                StringBuffer buffer = new StringBuffer();
                while (res.moveToNext()){
                    buffer.append("Id:"+ res.getString(0)+"\n");
                    buffer.append("Question:"+ res.getString(1)+"\n");
                    buffer.append("Answer1:"+ res.getString(2)+"\n");
                    buffer.append("Answer2:"+ res.getString(3)+"\n");
                    buffer.append("Answer3:"+ res.getString(4)+"\n");
                    buffer.append("Answer4:"+ res.getString(5)+"\n\n");
                }

                showMessage("Data",buffer.toString());
            }
        });
    }

    public void showMessage(String title, String Message){
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setCancelable(true);
        builder.setTitle(title);
        builder.setMessage(Message);
        builder.show();

    }

Aucun commentaire:

Enregistrer un commentaire