jjzjj

ContentResolver

全部标签

Android:使用 ContentResolver 时的 SQLite 事务

目标:从XML数据刷新数据库过程:开始交易删除表格中的所有现有行将解析后的XML的每个主要元素插入行到主表中并获取PK根据主元素的每个子元素插入记录到第二个表中,提供上一步的FK提交交易就数据库操作而言,相当标准的东西。问题是CRUD操作不是在ContentProvider中完成,而是使用ContentResolver所以插入例如看起来像resolver.insert(CONTENT_URI,contentValues)。ContentResolverAPI似乎与事务无关,我不能使用bulkInsert因为我间歇性地插入2个表(另外我希望在交易也是如此)。我正在考虑使用register

Android:使用 ContentResolver 时的 SQLite 事务

目标:从XML数据刷新数据库过程:开始交易删除表格中的所有现有行将解析后的XML的每个主要元素插入行到主表中并获取PK根据主元素的每个子元素插入记录到第二个表中,提供上一步的FK提交交易就数据库操作而言,相当标准的东西。问题是CRUD操作不是在ContentProvider中完成,而是使用ContentResolver所以插入例如看起来像resolver.insert(CONTENT_URI,contentValues)。ContentResolverAPI似乎与事务无关,我不能使用bulkInsert因为我间歇性地插入2个表(另外我希望在交易也是如此)。我正在考虑使用register

android - 使用 applyBatch 插入数千个联系人条目很慢

我正在开发一个需要插入大量联系人条目的应用程序。目前大约有600个联系人,总共有6000个电话号码。最大的联系人有1800个电话号码。截至今天的状态是我创建了一个自定义帐户来保存联系人,因此用户可以选择在联系人View中查看联系人。但是触点的插入速度非常缓慢。我使用ContentResolver.applyBatch插入联系人。我尝试了不同大小的ContentProviderOperation列表(100、200、400),但总运行时间约为。相同。插入所有联系人和号码大约需要30分钟!我发现的关于SQlite中缓慢插入的大多数问题都会引发事务。但由于我使用ContentResolver

android - 使用 applyBatch 插入数千个联系人条目很慢

我正在开发一个需要插入大量联系人条目的应用程序。目前大约有600个联系人,总共有6000个电话号码。最大的联系人有1800个电话号码。截至今天的状态是我创建了一个自定义帐户来保存联系人,因此用户可以选择在联系人View中查看联系人。但是触点的插入速度非常缓慢。我使用ContentResolver.applyBatch插入联系人。我尝试了不同大小的ContentProviderOperation列表(100、200、400),但总运行时间约为。相同。插入所有联系人和号码大约需要30分钟!我发现的关于SQlite中缓慢插入的大多数问题都会引发事务。但由于我使用ContentResolver

java - ContentResolver.notifyChange 不工作

我想玩一个ContentProvider示例,但我遇到了一个我似乎无法解决的问题。这个例子包含一个Activity:importandroid.content.ContentUris;importandroid.content.ContentValues;importandroid.database.Cursor;importandroid.net.Uri;importandroid.support.v4.widget.SimpleCursorAdapter;importandroid.support.v7.app.ActionBarActivity;importandroid.os.

java - ContentResolver 和 "IN"条件下的 "where"语句

我正在尝试根据联系人的ID获取联系人列表的光标。我不太确定如何使用带有参数数组的“IN”语句。我目前拥有的东西会导致错误。publicCursorGetContacts(String[]ids){ContentResolvercr=getContentResolver();try{Uriuri=ContactsContract.Contacts.CONTENT_URI;String[]projection=newString[]{ContactsContract.Contacts._ID,ContactsContract.Contacts.DISPLAY_NAME,ContactsCo

android - 我可以在 ContentResolver 列查询上运行 SQL 函数吗?

我想知道当您查询ContentProvider时,Android的ContentResolver是否支持在列上使用SQL函数。比如SQLite3的日期函数,获取特定的日期格式,还是datediff?你对这个有什么了解? 最佳答案 没有。即使您发现它适用于某些情况,您也不能假设它适用于所有情况。ContentProvider是一个门面。给定的ContentProvider可能使用SQLite。它可能使用XML文件。它可能使用JSON文件。它可能使用CSV文件。它可能使用某些第三方SQL数据库。它可能使用某些第三方对象数据库。它可能没有

android - 在 Android 应用程序中自动执行 ContentResolver.setMasterSync 是不好的做法还是粗鲁的做法?

我在我的应用程序中广泛使用syncadaptor以获得其核心功能。我还使用同步适配器提供的定期刷新。因此,如果手机上禁用了“帐户和同步”,我的应用程序将毫无用处。执行ContentResolver.setMasterSyncAutomatically(true)以打开同步是否被认为是一种不好的做法或粗鲁。仅通过执行ContentResolver.setIsSyncable无济于事,因为如果主帐户和同步被禁用,则定期同步将不起作用。处理这种情况的常用方法是什么?提前致谢-v- 最佳答案 我认为这是不好的做法。有两种不同的同步启用标志,

android - 从 contentResolver 中删除文件只从数据库中删除条目(不是文件)

我尝试使用contentResolver删除一个文件,但只删除了数据库中的条目,而不是真正的文件。所以我尝试先删除条目,然后再删除文件:introws=context.getContentResolver().delete(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,MediaStore.Audio.Media._ID+"="+idSong,null);//Removefilefromcardif(rows!=0){Uriuri=ContentUris.withAppendedId(MediaStore.Audio.Media.EXTERNA

android - 为什么 ContentResolver.openFileDescriptor 抛出 IllegalArgumentException?出路?

我有两个问题,这里用一段简短的代码来说明我的问题:ContentResolverresolver=context.getContentResolver();DocumentsContract.deleteDocument(resolver,documentUri);resolver.openFileDescriptor(documentUri,"rw");文档说最后一行“ThrowsFileNotFoundExceptionifnofileexistsundertheURIorthemodeisinvalid.”但实际上我得到了java.lang.IllegalArgumentExce