【问题标题】:Update Single Row Based on URI Android Content Provider基于 URI Android Content Provider 更新单行
【发布时间】:2017-04-30 17:44:27
【问题描述】:

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

【问题讨论】:

  • ContentProvider 是你写的吗?它是否从insert() 返回一个有效的Uri?它的update() 方法是为了处理这样的Uri 而编写的吗?
  • @MikeM。是的,都在那里
  • 嗯,那么,是的,当然。只要Uri 指向一个唯一记录,并且您的update() 方法知道如何处理它。

标签: android android-contentprovider


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多