I Content Provider verwende für Datenbankoperationen, haben den Datensatz in Datenbank einfügen erfolgreich folgenden Codeaktualisieren einreihig Basierend auf URI Android Content Provider
ContentValues messageContentValues = new ContentValues ();
// time stamp of message
messageContentValues.put (Conversation.COLUMN_TIME_STAMP, HeyUtil.getCurrentTime ());
// date stamp of message
messageContentValues.put (Conversation.COLUMN_DATE_STAMP, HeyUtil.getCurrentDate ());
messageContentValues.put (Conversation.COLUMN_MEDIA_NAME, fileName);
// Content providers Entry
Uri uri = getContentResolver ().insert (
MyContentProviders.CONVERSATION_CONTENT_URI, messageContentValues);
erfolgreiche Insertion geben Sie mir die URI
Jetzt meine Frage ist, kann ich diesen URI verwenden, um den Datensatz zu aktualisieren?
Beispiel
// creat a content value for column you want to update
ContentValues mContentValues = new ContentValues();
mContentValues.put (Conversation.COLUMN_MEDIA_NAME, "abde");
// uri= record insertion URI
getContentResolver().update (uri,mContentValues,null,null);
Haben Sie den 'ContentProvider' geschrieben? Gibt es ein gültiges 'Uri' von' insert() 'zurück? Ist seine Methode 'update()' so geschrieben, dass sie mit einem 'Uri' umgehen kann? –
@MikeM. Ja, alle sind da –
Nun, dann, ja, sicher. Solange der 'Uri' auf einen eindeutigen Datensatz zeigt, und Ihre' update() 'Methode weiß, wie man damit umgeht. –