问题标签 [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.

0 投票
1 回答
901 浏览

android - Android:倾斜移动使 ImageView 内容消失/刷新 URI

提前感谢您的任何回复。我面临着一个微不足道的问题。硬件:摩托罗拉(安卓手机)

我在图像视图中显示图像。图像本身是通过 ContentResolver 从 URI 中获取的。问题是,每当我倾斜我的手机时,imageview 就会变成空白。通过跟踪日志和变量,我发现每当我倾斜移动设备时,相关的 URI 都会返回到其默认值(即 null)。

当然,有一个解决方法,即使用静态变量。但我想知道是否有另一种解决方案,因为我真的很想在函数中传递 URI 来做我想要的应用程序。

有谁知道发生了什么?

问候。

0 投票
1 回答
882 浏览

android - 查询没有记录的内容提供者?

我正在研究一种使用游标查询内容提供者的方法。在我删除一条记录后,它会调用该loadfromProvider方法并刷新arraylist。内容提供者通常在其中包含记录,但是,当我删除所有记录并且查询自动运行时,它会引发异常。这是我的方法:

当我在内容提供程序中没有记录的情况下运行它时,它会抛出以下内容:

java.lang.IndexOutOfBoundsException:索引 1 无效,java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:257) 处的大小为 1

我认为这是由于光标试图解析空值。我试图找出一种方法,如果游标没有返回任何记录,它会绕过其余代码并且什么也不会发生。

任何帮助,将不胜感激。谢谢

0 投票
7 回答
20968 浏览

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 以用作数据表中的外键?

0 投票
2 回答
3588 浏览

java - 安卓 | 通过电话号码检索联系人照片的最佳方法是什么?

我有一个应用程序需要获取给定联系人的照片。我有联系人的电话号码,如果联系人的照片存在,是否可以通过 ContentResolver 或任何其他形式通过电话号码检索?我一直在寻找,但没有找到答案。

我真的想强调使用电话号码获取联系人照片(如果存在)的重要性。谢谢你。

0 投票
1 回答
329 浏览

android - 获取电话簿到应用程序

我编写了以下代码来获取联系方式。问题是我收到的电话号码显示为空。你能帮助我吗?

0 投票
2 回答
5858 浏览

android - 如何一次选择多个联系人?

我使用以下代码将电话簿联系人检索到我的应用程序:

但我想选择多个联系人并将其上传到数据库。这可能吗?如果可以,我该怎么做?

0 投票
1 回答
731 浏览

android - android 2.2 中的 ContentResolver [问题]

我试图在安卓手机中插入一个音频文件。相同的代码在 android 2.1 中运行良好

但是当我尝试在 Android 2.2 中使用它时;插入 ContentResolver 成功,但我不能

在图库中找到我的音频文件(因此用户看不到它)


0 投票
2 回答
4467 浏览

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 | 安卓。如果您能给我一个提示,那就太好了。如果您需要更多代码片段来理解,请询问我。

0 投票
3 回答
16784 浏览

android - 我可以使用 ContentResolver.query() 执行这个 Android 查询吗?(左连接和大小写)

我希望在 Android 上执行以下查询(以伪代码形式):

我希望通过默认的 Contacts ContentProvider 选择系统通讯录中所有联系人的 ID 和名称,以及指示联系人是否是 group 成员的 0/1 字段?

我当然可以很容易地获得所有联系人,然后在我的 Adapter 类中很容易地循环并分别查询成员资格,但我想将这两个查询作为一个外部连接查询执行会产生更好的性能。

我可以使用标准的高级字符串投影和ContentResolver.query()方法来做到这一点吗?或者这种查询是否需要深入研究更直接的 SQL 执行?

0 投票
2 回答
9473 浏览

android - 原始 SQLite 游标上的 registerContentObserver()

我见过的所有使用示例registerContentObserver()都是通过ContentProvider界面来实现的。但是 Cursor 有一个调用,所以我想也许 Android 人员已经组合了一些深刻的魔法,当活动结果集中的行之一发生更改时,registerContentObserver()可以在游标上获取更新。SQLite要么我做错了,要么没有这样的魔法。这是我正在使用的代码,期望当我单击按钮更新第 1 行中的值时,我会得到一个onChange()回调。有任何想法吗?