问题标签 [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 投票
4 回答
28073 浏览

android - 如何在 android 中调用 getContentResolver?

我正在编写一个库类来将我的一些逻辑封装在我的第一个 Android 应用程序中。我要封装的功能之一是查询通讯录的功能。因此,它需要一个ContentResolver. 我试图弄清楚如何将库函数保持为黑盒状态......也就是说,避免每次Activity通过在自己的上下文中获取ContentResolver.

问题是我一生都无法弄清楚如何ContentResolver从我的库函数中获取一个。我找不到包含getContentResolver. 谷歌搜索说用来getContext获取Contexton which to call getContentResolver,但我找不到包含getContext任何一个的导入。下一篇文章说用于getSystemService获取要调用的对象getContext。但是 - 我找不到任何包含任何导入getSystemService

所以我想知道,我怎样才能在封装的库函数中获得一个 ContentResolver ,或者我几乎坚持让每个调用Activity传递都引用它自己的上下文?

我的代码基本上是这样的:

getGroups 是我希望避免传入 aContextContentResolver如果可以的话的方法,因为我希望将它完全黑盒化。

0 投票
5 回答
19628 浏览

android - 使用 ContentProviderClient 与 ContentResolver 访问内容提供者

有关 Android 内容提供程序的文档描述了使用ContentResolvergetContentResolver()获取的 来访问内容。

但是也有一个ContentProviderClient,可以从 获得getContentResolver().acquireContentProviderClient(authority)。它似乎提供了或多或少相同的方法ContentResolver来访问来自提供者的内容。

我什么时候应该使用 aContentProviderClient而不是ContentResolver直接使用?有什么好处?

0 投票
2 回答
457 浏览

android - Android SQL Null 常量值

我有这个提示给你...

我们正在尝试将参数传递给内容解析器中的查询。如果参数为 NULL,我们希望获取所有行,或者获取参数中指示的特定值作为相反的值。

我们使用的方法声明:

因此,我们进行的查询如下:

为了使该方法可重用,我们将 artistName 作为参数传递,并且因为我们希望选择所有行,所以我们传递常量 allArtists。

关键是这个查询没有返回任何行,因为常量 allArtists = "" 并没有像我们预期的那样充当空值。

最后的问题是:我必须如何以查询将其作为 NULL 值而不是“”的方式声明常量?

非常感谢。

0 投票
3 回答
1841 浏览

android - 电子邮件内容解析器的问题

我正在使用以下代码在设备上构建电子邮件地址列表以显示在ListActivity. 目前我可以检索电子邮件地址,但它们以以下形式出现:null (email@address.com)而不是name (email@address.com)不理想。我正在使用的代码也应该检索名称:

有谁知道我做错了什么?

0 投票
3 回答
8766 浏览

android - 无法写入内部存储器android

上面一直有效的代码现在在 insert() 处为我生成了这个异常。

这不是空间问题,我唯一改变的是一个无关类的包。另外,我重新启动了手机。

0 投票
1 回答
24865 浏览

android - 在自定义内容提供程序中调用删除方法

我正在学习 Android,但遇到了一个涉及调用自定义内容提供程序的问题。我一直在使用指导书中的示例,虽然它描述了如何创建自定义提供程序,但没有明确的示例如何调用其中的特定方法。我正在专门研究如何从自定义内容提供程序中删除单个记录。

以下是自定义内容提供程序 ( EarthquakeProvider.java) 的代码:

我试图从主要活动中调用 delete 方法来删​​除单个条目,而不是整个数据库。我想对OnLongClickListener在主活动的数组列表视图中显示的所选记录使用 about。

到目前为止,这是我在此方法的主要活动中提出的:

我知道上面的代码不起作用,但这与我目前的理解一样接近。

对此的任何帮助将不胜感激。

0 投票
1 回答
3985 浏览

android - Android:使用原始联系人 ID 正确访问和查询

所以我的应用程序正在尝试将同步适配器集成到 android 本机联系人管理器中。这一切都运行顺利,除了一旦同步联系人,我无法更新它。可以在此处找到有关此特定问题的详细信息:Android:内容解析器查询不应该返回 0 行但我可以简单地说我的内容解析器查询返回 0 值,因为我正在查询错误的 URI,我相信。

当我将原始联系人 ID 写入手机时,我使用以下代码:

当您将新联系人添加到同步列表时,将调用此构造方法:

正如您在构造函数中看到的那样,我正在调用一个名为 newInsertCpo 的方法,可以在此处查看:

现在您可以看到代码,让我解释一下问题。当我创建和编写原始联系人 ID 时,我对 RawContacts.CONTENT_URI 这样做:

但是,当我查询 uri 时,我是这样查询的:

来自 Data.CONTENT_URI。我相信这是我的问题发生的地方。我使用了来自 Android 官方开发网站的示例代码并针对我自己的用途对其进行了定制,但这部分与示例非常吻合。然而它不起作用。我的线索就是我所说的,我正在写信给一个 Uri 并查询另一个。但是我尝试将查询更改为 RawContacts.CONTENT_URI(这会导致异常),并将我写入的 Uri 更改为 Data.CONTENT_URI,这也会导致异常。更令人困惑的是,当我执行 lookupRawContactId 方法时,我会从 Data.CONTENT_URI 获取原始联系人 ID:

所以是的,如果我得到一个返回 rawcontactId 的游标,为什么我会得到 0 个值来查询具有相同 rawcontactId 我返回的相同 Uri?这没有任何意义!有没有人有任何见解?谢谢大家。

0 投票
2 回答
10661 浏览

android - Android 应用程序在 getContentResolver().query 处崩溃

请找到随附的代码以检索来电的联系人姓名。在这里,我将数字硬编码为“123”。我已经在模拟器中添加了这个联系人。但是应用程序在 getContentResolver().query 处崩溃。请提供任何帮助。

0 投票
1 回答
1499 浏览

android - Android Event contentResolver查询同步问题

我正在使用以下代码从核心事件日历应用程序中提取数据以显示在我的应用程序中。

代码工作正常。但有时如果我在日历中添加一个事件并返回应用程序,它不会显示新事件。如果我退出应用程序并再次返回或更改选项卡,则新事件将添加到列表中。有什么办法解决同步问题?

0 投票
1 回答
284 浏览

android - 我可以通过内容解析器或活动之外的其他地方访问电话设置吗

作为 android 上的测试实用程序的一部分,我可以访问我的活动中的电话设置,如下所示:

是否可以通过内容解析器或其他方式访问活动之外的设置。