Gå til innhold

[Løst] (Android) Koden stopper etter cursor.getString() blir kalt, uten noen form for exception


Anbefalte innlegg

Jeg har en android app med en database klasse for SQLite. I den klassen har jeg en metode som skal returnere en ArrayList bestående av Quiz(som er en bønneklasse) objekter. Problemet er rett og slett at koden slutter å kjøre når jeg kaller cursor.getString(0) metoden. Altså, ingen feilmelding eller noe som helst, koden bare slutter å kjøre. Jeg skjønner ingenting..

 

Jeg har en metode for insert, som fungerer fint, og jeg har en metode for getQuiz, som skal returnere data som inneholder en bestemt tittel.

 

Her er klassen som ikke fungerer:

 

public List<Quiz> getAllQuizes(){
 List<Quiz> quizList = new ArrayList<Quiz>();
 try{
  String selectQuery = "SELECT title FROM " + TABLE_NAME;
  SQLiteDatabase db = this.getWritableDatabase();
  Cursor cursor = db.rawQuery(selectQuery, null);
  Quiz quiz = new Quiz();
  Log.d("n", "test6"); //Denne fungerer
  Log.d("n", cursor.getString(0)); //Her slutter koden å fungere
  Log.d("n", "test5"); //Dette blir ikke skrevet ut

   if(cursor.moveToFirst()){
   do{
 quiz.setTitle(cursor.getString(0));
 quizList.add(quiz);

   }while(cursor.moveToNext());
  }
  db.close();
 }catch(Exception e){
  e.getMessage();
 }

 return quizList;
}

 

Og denne fungerer fint:

public List<Quiz> getQuiz(String quizTitle){
 List<Quiz> quizList = new ArrayList<Quiz>();
 String selectQuery = "SELECT question, answer, a1, a2, a3, a4 FROM " + TABLE_NAME +
   " WHERE title="+quizTitle+";";
 try{
  SQLiteDatabase db = this.getWritableDatabase();
  Cursor cursor = db.rawQuery(selectQuery, null);
  Quiz quiz = new Quiz();
  if(cursor.moveToFirst()){
   do{
 quiz.setQuestion(cursor.getString(0));
 quiz.setAnswer(cursor.getInt(1));
 quiz.setA1(cursor.getString(2));
 quiz.setA2(cursor.getString(3));
 quiz.setA3(cursor.getString(4));
 quiz.setA4(cursor.getString(5));
 quiz.setTitle(quizTitle);
 quizList.add(quiz);

   }while(cursor.moveToNext());
  }
  db.close();
 }
 catch(Exception e)
 {
  e.getMessage();
 }
 return quizList;
}

 

 

Jeg skjønner ingenting. Vet noen om det er noen bugs i cursor eller noe sånt? Eller om jeg har noen andre feil i koden ?

Endret av vebbiii
Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...