问题标签 [android-contentprovider]

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 投票
2 回答
45794 浏览

android - 如何查询 Android MediaStore Content Provider,避免孤立图像?

我正在尝试提供一个应用内活动,它在设备的媒体商店中显示照片的缩略图,并允许用户选择一个。在用户做出选择后,应用程序会读取原始的全尺寸图像并对其进行处理。

我正在使用以下代码Cursor在外部存储上创建所有图像:

以下代码用于加载缩略图(显示的是 Android 2.x 代码):

用户做出选择后,以下代码会从 URL 加载原始图像:

我在某些 Android 设备(包括我自己的个人手机)上看到的问题是,我从查询中获得的光标onCreate()包含一些缺少实际全尺寸图像文件(JPG 或 PNG)的条目。(就我的手机而言,图像已被导入并随后被 iPhoto 删除)。

孤立的条目可能有也可能没有缩略图,这取决于 AWOL 时缩略图是否在实际媒体文件之前生成。最终结果是应用程序显示实际不存在的图像的缩略图。

我有几个问题:

  1. 是否可以向MediaStore内容提供者查询,以过滤掉返回中缺少媒体的图像Cursor
  2. 是否有一种方法或 API 可以强制MediaStore重新扫描并消除孤儿条目?在我的手机上,我安装了 USB,然后卸载了外部媒体,这应该会触发重新扫描。但是孤儿条目仍然存在。
  3. 或者我的方法有什么根本错误导致这个问题?

谢谢。

0 投票
1 回答
355 浏览

android - 查询Android db以获取特定数据

我正在创建一个方法来查看是否填充了数据库行中的列;如果是这样,它会返回该行中的 varchar,否则它会调用 Web 服务来返回该数据。

我的问题是:使用 Android 简单地选择列的标准方法是什么?(从 _id = x 的 mytable 中选择 mycolumn;)

我围绕我的数据库创建了一个 ContentProvider。我应该直接调用“查询”吗?注意:此方法在服务中

0 投票
1 回答
425 浏览

android - UriMatcher 返还错误的值

我有两个 Uris。假设它们是:

在我扩展的 ContentProvider 中,我声明了以下内容:

当我使用...

...Uri 在调用任何 ContentProvider 方法时,比如插入,而我的 ContentProvider 方法执行...

...我回来了 1 (MESSAGES)。

为什么???

0 投票
1 回答
1766 浏览

android - 当没有数据库或表存在时,是否可以在 Android 中模拟 sqlite3 游标?

我正在使用 ContentProvider 缓存来自 Web 服务查询的结果。它是一个 HTTP 请求,响应内容是 XML。大部分数据都被缓存了,所以我只是查询数据库,如果没有找到,从 web 服务请求,插入数据库并重新查询数据库。因此响应始终是来自 SQLiteDatabaseHelper 的游标。

我有一个未存储在数据库中的结果集,因为它是 100% 瞬态的,但我想提供它来自数据库光标的外观。是否有捷径可寻?例如,如果我可以使用 cursor.setValue("string", objectValue) 或其他一些现有实现将其投影到光标上。

如果没有,我将绕过数据库来获取此内容结果,或者将其填充到一个经常重用的普通表中。

0 投票
3 回答
879 浏览

android - 如何在不存储在 SD 卡中的情况下发送图像?

我正在开发一个显示图像的应用程序。该应用程序提供了将图像作为附件通过电子邮件发送的选项。我必须将图像保存到 SD 卡才能将图像作为附件通过电子邮件发送。

是否可以在不先将图像写入 SD 卡的情况下将图像作为附件通过电子邮件发送?

0 投票
2 回答
1887 浏览

android - Android 的 CursorAdapter 是否在后台线程中运行?

CursorAdapter 是否在后台线程上运行并通过 UI 循环线程发布更新?如果不是,从 ContentProvider 异步加载数据的最佳模式是什么?

0 投票
1 回答
834 浏览

android - 安卓短信处理

我只是想知道android在收到短信时如何处理短信。更确切地说,我的问题是当安卓手机收到短信时,哪个应用程序将消息保存到 mmssms 数据库?这是由操作系统还是由本机短信应用程序完成的?

0 投票
5 回答
43283 浏览

android - 在 Android 中使用内容提供程序公开多个表的最佳实践

我正在构建一个应用程序,其中有一张用于活动的桌子和一张用于场地的桌子。我希望能够授予其他应用程序访问此数据的权限。我有一些与此类问题的最佳实践相关的问题。

  1. 我应该如何构建数据库类? 我目前有 EventsDbAdapter 和 VenuesDbAdapter 的类,它们提供查询每个表的逻辑,同时有一个单独的 DbManager(扩展 SQLiteOpenHelper)来管理数据库版本、创建/升级数据库、访问数据库(getWriteable/ReadeableDatabase)。这是推荐的解决方案,还是将所有内容合并到一个类(即 DbManager)或分离所有内容并让每个适配器扩展 SQLiteOpenHelper 会更好?

  2. 我应该如何为多个表设计内容提供程序? 扩展上一个问题,我应该为整个应用程序使用一个内容提供程序,还是应该为事件和场地创建单独的提供程序?

我发现的大多数示例仅处理单表应用程序,因此我将不胜感激这里的任何指针。

0 投票
2 回答
5691 浏览

android - Android 私有内容提供商?

我正在开发一个涉及一些敏感用户信息的应用程序。我通过私有 Web API 检索此信息。我正在尝试确定将这些数据导入我的应用程序的最佳方式。现在我正在探索创建一个可以这样做的内容提供者;我的犹豫是确保它安全。我希望这些数据只能由我的应用程序使用。理想情况下,任何其他应用程序都不会知道它的存在。

您对如何有效和安全地执行此操作有任何指示或建议吗?有关数据源是远程 OAuth API 的内容提供商的任何信息?

谢谢!

编辑:我说的是内容提供者,但如果这不是满足我需要的最佳方式,请务必让我知道还有什么要调查的。

0 投票
1 回答
1860 浏览

android - ContentProvider 实例化失败 - NullPointerException

这是我的自定义提供程序的代码,
主要是从 SDK 记事本项目中复制的,
我不明白为什么会出现 nullPointException,
为什么没有创建提供程序实例?

谢谢 !:)

注册提供者.java

日志猫