问题标签 [android-contentresolver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android:倾斜移动使 ImageView 内容消失/刷新 URI
提前感谢您的任何回复。我面临着一个微不足道的问题。硬件:摩托罗拉(安卓手机)
我在图像视图中显示图像。图像本身是通过 ContentResolver 从 URI 中获取的。问题是,每当我倾斜我的手机时,imageview 就会变成空白。通过跟踪日志和变量,我发现每当我倾斜移动设备时,相关的 URI 都会返回到其默认值(即 null)。
当然,有一个解决方法,即使用静态变量。但我想知道是否有另一种解决方案,因为我真的很想在函数中传递 URI 来做我想要的应用程序。
有谁知道发生了什么?
问候。
android - 查询没有记录的内容提供者?
我正在研究一种使用游标查询内容提供者的方法。在我删除一条记录后,它会调用该loadfromProvider
方法并刷新arraylist。内容提供者通常在其中包含记录,但是,当我删除所有记录并且查询自动运行时,它会引发异常。这是我的方法:
当我在内容提供程序中没有记录的情况下运行它时,它会抛出以下内容:
java.lang.IndexOutOfBoundsException:索引 1 无效,java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:257) 处的大小为 1
我认为这是由于光标试图解析空值。我试图找出一种方法,如果游标没有返回任何记录,它会绕过其余代码并且什么也不会发生。
任何帮助,将不胜感激。谢谢
android - 使用 applyBatch 插入数千个联系人条目很慢
我正在开发一个需要插入大量联系人条目的应用程序。目前大约有 600 个联系人,总共有 6000 个电话号码。最大的联系人有 1800 个电话号码。
截至今天的状态是我已经创建了一个自定义帐户来保存联系人,因此用户可以选择在联系人视图中查看联系人。
但是触点的插入速度非常缓慢。我使用 ContentResolver.applyBatch 插入联系人。我尝试了不同大小的 ContentProviderOperation 列表(100、200、400),但总运行时间约为。相同。插入所有联系人和号码大约需要 30 分钟!
我发现的大多数关于 SQlite 中缓慢插入的问题都会引发事务。但由于我使用 ContentResolver.applyBatch 方法,我无法控制它,我会假设 ContentResolver 会为我处理事务管理。
所以,我的问题是:我做错了什么,或者我能做些什么来加快速度?
安德斯
编辑: @jcwenger:哦,我明白了。很好的解释!
所以我必须先插入 raw_contacts 表,然后插入带有名称和数字的数据表。我将失去的是对我在 applyBatch 中使用的 raw_id 的反向引用。
所以我必须获取新插入的 raw_contacts 行的所有 id 以用作数据表中的外键?
java - 安卓 | 通过电话号码检索联系人照片的最佳方法是什么?
我有一个应用程序需要获取给定联系人的照片。我有联系人的电话号码,如果联系人的照片存在,是否可以通过 ContentResolver 或任何其他形式通过电话号码检索?我一直在寻找,但没有找到答案。
我真的想强调使用电话号码获取联系人照片(如果存在)的重要性。谢谢你。
android - 获取电话簿到应用程序
我编写了以下代码来获取联系方式。问题是我收到的电话号码显示为空。你能帮助我吗?
android - 如何一次选择多个联系人?
我使用以下代码将电话簿联系人检索到我的应用程序:
但我想选择多个联系人并将其上传到数据库。这可能吗?如果可以,我该怎么做?
android - android 2.2 中的 ContentResolver [问题]
我试图在安卓手机中插入一个音频文件。相同的代码在 android 2.1 中运行良好
但是当我尝试在 Android 2.2 中使用它时;插入 ContentResolver 成功,但我不能
在图库中找到我的音频文件(因此用户看不到它)
android - 我的 Android ContentProvider 找不到 ContentResolver
我的目标是编写一个没有 Activity 的 ContentProvider。为了测试,我在自己的应用程序中编写了一个测试活动。对于那些想告诉我android中仍然包含一个记录器的人,我知道这一点。
这是 ContentProvider 的一部分
所以我还将内容提供者信息添加到 manifest.xml
这是我的客户活动的一部分,它在一个单独的应用程序中。
LogCat 告诉我 TestClient 找不到 ContentProvider
05-27 12:42:52.099: 错误/ActivityThread(548): 无法找到 de.xyz.android.log4android 的提供者信息
我的错误在哪里。在我看来,我确实在以下内容中提到了所有内容:Content Providers | 安卓。如果您能给我一个提示,那就太好了。如果您需要更多代码片段来理解,请询问我。
android - 我可以使用 ContentResolver.query() 执行这个 Android 查询吗?(左连接和大小写)
我希望在 Android 上执行以下查询(以伪代码形式):
我希望通过默认的 Contacts ContentProvider 选择系统通讯录中所有联系人的 ID 和名称,以及指示联系人是否是 group 成员的 0/1 字段?
。
我当然可以很容易地获得所有联系人,然后在我的 Adapter 类中很容易地循环并分别查询成员资格,但我想将这两个查询作为一个外部连接查询执行会产生更好的性能。
我可以使用标准的高级字符串投影和ContentResolver.query()
方法来做到这一点吗?或者这种查询是否需要深入研究更直接的 SQL 执行?
android - 原始 SQLite 游标上的 registerContentObserver()
我见过的所有使用示例registerContentObserver()
都是通过ContentProvider
界面来实现的。但是 Cursor 有一个调用,所以我想也许 Android 人员已经组合了一些深刻的魔法,当活动结果集中的行之一发生更改时,registerContentObserver()
可以在游标上获取更新。SQLite
要么我做错了,要么没有这样的魔法。这是我正在使用的代码,期望当我单击按钮更新第 1 行中的值时,我会得到一个onChange()
回调。有任何想法吗?