2017-05-16 3 views
1

Ich habe eine gefüllte Datenbank in meiner App, aber ich habe Probleme beim Zugriff auf Daten über einen zurückgegebenen Cursor von der Abfrage-Methode.Fehler beim Zugriff auf Cursordaten

Cursor query = getContentResolver().query(MoviesContract.MoviesEntry.CONTENT_URI, 
     null, 
     null, 
     null, 
     null); 

query.moveToFirst(); 

while (query.isAfterLast() == false){ 
    Log.d("Test", query.getString(0)); 
    query.moveToNext(); 
} 

Ich mache Tests auf diesem Code-Block. Wenn ich die Log.d Linie ausführen, wird dieser Fehler ausgelöst:

java.lang.IllegalStateException: Es konnte keine Zeile 0, Spalte 0 von CursorWindow lesen. Stellen Sie sicher, dass der Cursor korrekt initialisiert ist, bevor Sie auf Daten von diesem zugreifen. Diese

ist, wie ich weiß, dass meine Datenbank hat Inhalt:

enter image description here

Was fehlt mir? Ich beschäftige mich zum ersten Mal mit Cursorn.

Antwort

2

das Problem gefunden:

CursorWindow: Fenster ist voll: 1.369.680 Bytes angefordert Zuteilung, frei Raum 596.540 Bytes, die Fenstergröße 2097152 Bytes

ich Bilder in die Datenbank speicherte.

Ich werde meine Architektur ändern, um das Bild vom Webservice mit dem Offline Caching von Picasso zu speichern.

Verwandte Themen