0

Der Konstruktor für einen CursorLoader benötigt eine URI, aber ich weiß nicht, wie Sie es verwenden. Von dem was ich lese brauche ich eine ContentProvider. Aber ich möchte nur auf meine SQLite-Datenbank zugreifen. Kann mir jemand zeigen, wie man zu diesem Zweck einen URI mit einem ContentProvider erstellt? Die Dokumentation scheint sehr kompliziert zu sein und zeigt Beispiele, die nicht mit einer SQLite-Datenbank zusammenhängen.Benötigen Sie einen URI in CursorLoader mit SQLite-Datenbank verwendet werden

+0

"Aber alles, was ich tun möchte, ist auf meine SQLite-Datenbank zuzugreifen" - Sie müssen nicht 'CursorLoader' verwenden, um auf eine SQLite-Datenbank zuzugreifen. – CommonsWare

+0

@CommonsWare Aber wenn ich die Datenbank verwende, um Ergebnisse zu einem 'AutoCompleteTextView' zurückzugeben, brauche ich nicht einen' CursorLoader', um die 'Cursor' Ergebnisse zu laden? –

+0

Nein. Sie können 'query()' oder 'rawQuery()' auf Ihrer 'SQLiteDatabase' aufrufen. Machen Sie das in einem Hintergrundthread und denken Sie über Konfigurationsänderungen nach. Ob Sie Ihren eigenen benutzerdefinierten 'AsyncTaskLoader' oder ein beibehaltenes Fragment oder einen verwalteten Singleton-Cache oder etwas anderes verwenden, liegt bei Ihnen. – CommonsWare

Antwort

0

Sie können stattdessen einen AsyncTaskLoader verwenden. Dann können Sie Ihre Datenbankabfrage in durchführen LoadInBackground Methode

+0

Ich werde meine Datenbank abfragen, um in einem 'AutoCompleteTextView' verwendet zu werden, also brauche ich nicht einen Cursor, um Daten aus den Ergebnissen zu lesen, und brauche wiederum einen CursorLoader? –

+0

AutoCompleteTextView kann auch Daten von einem ArrayAdapter lesen, so dass Sie keinen CursorAdapter oder CursorLoader verwenden müssen –