1. Gewinne jetzt ein UMiDIGI C Note - alle Informationen findest du hier!!
  1. maluramichael, 05.03.2011 #1
    maluramichael

    maluramichael Threadstarter Neuer Benutzer

    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
     
  2. maluramichael, 06.03.2011 #2
    maluramichael

    maluramichael Threadstarter Neuer Benutzer

    Kann mir niemand helfen? Ist wirklich wichtig das ich bald erfahre was ich falsch mache.
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Uri oder File path als String speichern zum wiederauslesen Android App Entwicklung 26.01.2017
Eine Frage zum Aufbau. Android App Entwicklung 20.12.2016
Datenbank- Zugriff über ContentProvider/Resolver oder direkt von eigener App aus? Android App Entwicklung 27.11.2016
Du betrachtest das Thema "Contentprovider URI aufbauen" im Forum "Android App Entwicklung",