问题标签 [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 回答
677 浏览

android - Android:使用查询时出现 contentResolver 错误

我有一个小应用程序,只需用户在其中选择一个联系人,contact list其手机号码就会打印到屏幕上。

因此,在单击列表中的一个联系人后,它将返回一个包含该用户信息的 URI 对象。我提出了一些查询来处理。

这是我的简单查询:

但是当我运行这段代码时,LogCat 显示错误:

1)DatabaseUtils.readExceptionFromParcel

2) 错误:

我认为我的查询没有“语法错误”,因为我已经仔细检查并且 LogCat 没有显示错误。

请帮我解决这个问题。

谢谢 :)

0 投票
2 回答
1660 浏览

android - 使用 ContentProvider 在 Android 中升级 SQLite DB

我正在开发一个应用程序并使用 SQLite、contentResolver 和 contentProvider。

应用程序描述 我的应用程序在内部 SQLite DB 中搜索联系人。数据来自在第一次午餐或用户按下菜单中的更新选项时选择的外部文件。

对数据库的所有访问都是使用 getContentResolver() 完成的。

ContentProvider 我有一个ContactsContentProvider类,它扩展ContentProvider并保存对ContactsDBAdapter的引用,这是我扩展SQLiteOpenHelper的数据库适配器。(我希望你们都和我在一起直到现在)。

问题描述 当用户按下更新按钮时,我希望数据库删除所有表并加载新数据(这是由我的文件选择器完成的,效果很好)。为了使我的ContactsDBAdapter中的onUpgrade()工作,内容提供程序 onCreate() 必须使用比以前更高的版本调用

但是我从我的contentResolver中获取了contentProvider ,所以它不会被创建两次。

虽然有很多关于如何使用contentProvidercontentResolver的解释,但我没有找到任何好的升级进度。

我知道 onUpgrade 是如何工作的,并且在getReadableDatabase()getWritableDatabase()调用期间对其进行检查,但事实是版本不会不同,因为ContactsDBAdapter与以前的实例相同。

我想过一些变通办法,但根本不喜欢它们。我可以在 insert() 期间手动检查版本是否更高(但这会很昂贵,因为每次调用都会完成),如果答案为真,则手动调用 onUpgrade。

或尝试以某种方式注销提供程序,但到目前为止没有找到任何有效且良好的解决方案。

升级数据库的最佳做法是什么?

谢谢!

0 投票
1 回答
1042 浏览

android - Android:对 CONTENT_URI 的 sql 查询

你好每个机器人开发者!请你帮忙回答一个问题。我在尝试

它在 Android 2.3.3 中运行良好,但在 Android 4.03 中它崩溃了,因为 Android 4.03 不再支持 GROUP BY 查询。(https://stackoverflow.com/questions/8837544/android-ics-sqlite-error

所以我决定用示例代码对 URI Contacts.CONTENT_URI 形成原始 sql 查询

或与

具有 groupBy 参数的。

但我不明白如何在第二种情况下从 CONTENT_URI 或 CONTENT_URI 的数据库名称中获取 dbHandle。

提前致谢!

0 投票
2 回答
948 浏览

android - 停止 ContentProvider 请求

我有一个长期运行的内容提供程序,基本上它在云中进行一些搜索并返回带有结果的光标。我的问题是取决于服务器的连接和负载。结果可能需要 5-7 秒才能返回。

似乎如果我使用 Content Provider 进行预测搜索,它会阻止其他查询(来自同一活动),直到前一个查询返回。

有关如何取消提供者查询的任何建议?

我曾尝试使用 asyncTask & Thread,但无济于事。看来我仍然在提供程序(解析器)上被阻止

0 投票
0 回答
289 浏览

android-camera-intent - 相机意图拍摄的照片的方向

我通过有意启动它从相机中捕获了几张图像。

当我在捕获图像后在视图中显示图像时,它的方向始终是横向的,无论它是以纵向还是其他方式捕获的。我希望这是基于我在这个论坛上读到的内容。

但是,当我在图库应用程序或文件管理器中查看它时,它会以正确的方向显示。

图库应用程序如何知道捕获方向是什么?我想访问相同的信息,但它似乎不在 ExifInterace 或 ContentResolver 中。

0 投票
1 回答
999 浏览

android - ContentProvider 和 ContentResolver 类中 query() 的区别

我是安卓新手。现在我正在做内容提供者。我正在关注“Pro android 3”一书。从那里我已经实现了这个BookProvider例子。我已经在扩展类的类中实现了insert,update,delete函数。但是在使用这些函数时,我使用了:BookProviderContentProvider

我的疑问是我在课堂上编写的方法以何种方式与BookProvider课堂沟通ContentResolver......

也有人请举例说明和类之间的基本定义Context、区别和关系ContentProviderContentResolver

另一个疑问是,在某些示例中,他们已将上下文对象显式转换为 Activity 对象…… Activity 和 Context 类是如何相关的?

0 投票
1 回答
1324 浏览

java - 如何在“查询”方法中传递选择参数

我正在尝试使用查询方法获取特定艺术家的所有专辑。但是,我是初学者,我不知道如何在查询方法中传递选择参数。

这是我到目前为止所拥有的:

其中artistChosen 是包含所需艺术家的字符串。

正如我所说,我实际上并不知道如何传递选择参数,所以这只是一种尝试。

所以我想我要问的是,我如何将选择参数传递给查询方法。

任何帮助将不胜感激。

0 投票
1 回答
166 浏览

android - 防止在android中发送消息

我知道我可以检测到正在使用以下代码发送的消息

我需要知道的是,是否有可能阻止它出去或暂停它?

谢谢

0 投票
1 回答
1630 浏览

android - 禁用窗口和过渡设置

所以我需要做的是在代码中打开和关闭窗口和/或过渡动画,以获得与设置 > 显示 > 动画 > 禁用所有动画相同的效果。

我熟悉更改设备设置的方式是在 Settings.System.putInt() 方法中使用 ContentResolver,如下所示:

如文档“设置为 0 将禁用所有 .... 动画”中所述,这两种设置都适用。在使用 putInt() 方法之前和之后读取设置时,使用以下命令:

我可以看到设置正在更改。然而,当然后做一些事情来开始一个窗口或过渡动画时,很明显可以看到设置没有任何区别并且过渡仍然发生。

我还想说,当我从“设置”屏幕中更改设置时,我可以看到重新运行我的应用程序时设置已更改。所以看起来这是正确的设置,我的应用程序没有正确更改它。

还有什么我想念的吗?

提前致谢。

0 投票
2 回答
21849 浏览

android - 如何通过 CursorLoader 使用 ContentProvider 的 insert() 方法将值正确插入 SQLite 数据库?

我正在阅读文档,但我仍然不太确定。它说要使用getContentResolver(),但实际上并没有使用 CursorLoader。那么有没有办法通过CursorLoader呢?我知道该怎么做query()。步骤是否非常相似?即使只是一个准确解释这一点的链接也会有所帮助。

请注意,不要将我链接到 Google 文档,因为他们没有使用insert()ContentProvider 使用CursorLoader.

提前致谢!!

编辑:我可能应该提到我对此感到困惑的原因是因为调用了一个新的CursorLoader自动调用ContentProviders query()方法。但是我怎样才能为插入做同样的事情呢?