2017-04-30 3 views
0

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); 
+0

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? –

+0

@MikeM. Ja, alle sind da –

+2

Nun, dann, ja, sicher. Solange der 'Uri' auf einen eindeutigen Datensatz zeigt, und Ihre' update() 'Methode weiß, wie man damit umgeht. –

Antwort

0

Nun ist meine Frage verwende ich diese URI den Datensatz zu aktualisieren?

Wie Mike M. angibt, liegt es an Ihnen. Wenn Sie die ContentProvider geschrieben haben, können Sie die update() Methode implementieren, wie Sie wollen. Wenn Sie einen ID-Wert von Uri abziehen und damit einen einzelnen Eintrag aktualisieren möchten, können Sie dies gerne tun.

Verwandte Themen