【发布时间】: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