Contentprovider URI aufbauen

  • 1 Antworten
  • Neuester Beitrag
Diskutiere Contentprovider URI aufbauen im Android App Entwicklung im Bereich Betriebssysteme & Apps.
M

maluramichael

Neues Mitglied
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:
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 :D
lg michi
 
M

maluramichael

Neues Mitglied
Kann mir niemand helfen? Ist wirklich wichtig das ich bald erfahre was ich falsch mache.