Problem beim Datenbank auslesen

  • 3 Antworten
  • Letztes Antwortdatum
D

DasSuko

Neues Mitglied
0
Guten Tag Android-Comm,

ich habe angefangen eine App zu programmieren und kommen momentan leider nicht weiter da bei mir die Datenbank nicht richtig ausgelesen wird. Leider weiß ich auch nicht warum, rein Theoretisch sollte es klappen, vielleicht bin ich auch einfach nur blind :D

Im Anhang ist ein Bild wie die Ausgebe aussieht.

Hier ein paar Ausschnitte aus dem Quellcode:

Activity.java
Code:
... 
List<Champion> champions = dbh.getAllChampions();
...
ArrayAdapter <Champion> adapter = new ArrayAdapter<Champion>(this,
        		android.R.layout.simple_list_item_1,champions);
        setListAdapter(adapter);

...Handler.java die Methode getAllChampions()
Code:
public List<Champion> getAllChampions(){
	List<Champion> champions = new ArrayList<Champion>();
	// select all query
	String select = "SELECT * FROM " + TABLE_NAME_COV;
		
	SQLiteDatabase database = this.getWritableDatabase();
	Cursor cursor = database.rawQuery(select, null);
		
	if(cursor.moveToFirst()){
	       do{
			Champion champion = new Champion();
                        champion.setId(Integer.parseInt(cursor.getString(0)));
			champion.setName(cursor.getString(1));
				
                        ...
				
			champions.add(champion);
		}while(cursor.moveToNext());
	}
	return champions;
}

Kann mir da einer Helfen ? Das wäre Super. Danke schon mal im voraus.
 

Anhänge

  • app_db_err.png
    app_db_err.png
    3,4 KB · Aufrufe: 238
Dein Champion hat keine eigene Implementierung von toString().
Deshalb bekommst du nur die default-Implementierung Object.toString(), die Klassenname + "@" + Speicheradresse ausgibt.
 
Du returnst bei getAllChampions() Objekte vom Typ Champion. Deshalb wird dir in der Liste der Objektname/Objektid bzw. Instanzid angezeigt. Du müsstest da z.B. alle getName() o.ä. returnen.
 
DieGoldeneMitte schrieb:
Dein Champion hat keine eigene Implementierung von toString().
Deshalb bekommst du nur die default-Implementierung Object.toString(), die Klassenname + "@" + Speicheradresse ausgibt.

Ich bin so blöd :D
Habe ich ganz übersehen bei den viele getter und setter bei mir.
Vielen Dank für deine schnelle und gute Antwort :)

PS: Kann geschlossen werden.
 
Zurück
Oben Unten