2017-04-30 18 views
0

私は正常に今私にURIアップデートの単一の行は

を与える

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

挿入が成功し、次のコードを使用して、データベース内のレコードを挿入、データベース操作のためのコンテンツプロバイダをしている使用しています私の質問は、私はこのURIを使用してレコードを更新できますか?

// 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

あなたは 'ContentProvider'を書いていますか? 'insert()'から有効な 'Uri'を返しますか?その 'update()'メソッドは 'Uri'を扱うように書かれていますか? –

+0

@MikeM。はい、すべてあります。 –

+2

さて、そうです、確かに。 'Uri'が一意のレコードを指している限り、あなたの' update() 'メソッドはそれをどのように扱うかを知っています。 –

答えて

0

は今、私の質問は、私は、レコードを更新するには、このURIを使用することができますか?

マイクM.が指摘するように、それはあなた次第です。 ContentProviderを作成した場合は、必要に応じてupdate()メソッドを実装できます。 ID値をUriから外し、それを使って1つのエントリを更新したい場合は、これを歓迎します。

関連する問題