基于URI Android内容提供程序更新单行

时间:2017-04-30 17:44:28

标签: android android-contentprovider

我正在使用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);

成功插入后会给我URI

现在我的问题是我可以使用此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);

1 个答案:

答案 0 :(得分:0)

  

现在我的问题是我可以使用此URI来更新记录吗?

正如Mike M.所说,这取决于你。如果您编写了ContentProvider,则可以根据需要实施update()方法。如果您想从Uri中提取ID值并使用它来更新单个条目,欢迎您这样做。