M
maluramichael
Neues Mitglied
- 0
Hallo Leute,
ich bin relativ neu in der Android Entwicklung und habe nun ein kleines Projekt am laufen. Dafür hab ich mir einige Contentprovider geschrieben die ihren Inhalt aus einer XML bekommen.
Momentan hab ich aber das Problem mit dem einfügen der Daten IN den CP. Meiner Meinung nach liegt das an der URI die ich erstellt habe.
Fehlermeldung:
Code
URI + Aufruf
hoffe mir kann jemand verständlich erklären was ich falsch mache
lg michi
ich bin relativ neu in der Android Entwicklung und habe nun ein kleines Projekt am laufen. Dafür hab ich mir einige Contentprovider geschrieben die ihren Inhalt aus einer XML bekommen.
Momentan hab ich aber das Problem mit dem einfügen der Daten IN den CP. Meiner Meinung nach liegt das an der URI die ich erstellt habe.
Fehlermeldung:
Code:
03-05 10:42:46.723: ERROR/AndroidRuntime(322): Caused by: java.lang.IllegalArgumentException: Unknown URIcontent://de.devnetik.android.partybibel.provider.eventsprovider/events
03-05 10:42:46.723: ERROR/AndroidRuntime(322): at de.devnetik.android.partybibel.provider.EventsProvider.insert(EventsProvider.java:108)
03-05 10:42:46.723: ERROR/AndroidRuntime(322): at de.devnetik.android.partybibel.LaunchActivity.onCreate(LaunchActivity.java:40)
03-05 10:42:46.723: ERROR/AndroidRuntime(322): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-05 10:42:46.723: ERROR/AndroidRuntime(322): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
03-05 10:42:46.723: ERROR/AndroidRuntime(322): ... 11 more
Code
Code:
//EventsProvider.java
@Override
public Uri insert(Uri uri, ContentValues initialValues) {
if (uriMatcher.match(uri) != EVENT) {
throw new IllegalArgumentException("Unknown URI" + uri);
}
ContentValues values;
if (initialValues != null) {
values = new ContentValues(initialValues);
} else {
values = new ContentValues();
}
SQLiteDatabase db = this.databaseHelper.getWritableDatabase();
long rowId = db.insert(TABLENAME, Event.TITLE, values);
if (rowId > 0) {
Uri eventUri = ContentUris.withAppendedId(Event.CONTENT_URI, rowId);
this.getContext().getContentResolver().notifyChange(eventUri, null);
return eventUri;
}
throw new SQLException("Failed to insert row into " + uri);
}
URI + Aufruf
Code:
String uriString = "content://de.devnetik.android.partybibel.provider.eventsprovider/events";
Uri uri = Uri.parse(uriString);
ContentValues initialValues = new ContentValues();
initialValues.put(EventsProvider.Event.TITLE, "Testtitel");
this.eventProvider.insert(uri, initialValues);
hoffe mir kann jemand verständlich erklären was ich falsch mache
lg michi