ParcelFileDescriptor可以表示数据库列吗?

时间:2013-07-23 05:19:15

标签: android android-contentprovider

我的内容提供商将数据存储在SQLite数据库中。一列是一个字符串。我想将此字符串作为文件附件附加到电子邮件中。

我通过实施ParcelFileDescriptor openFile(Uri uri, String mode)来实现这一目标。实施

  1. 查询数据库中的列值
  2. 将返回的值存储在文件
  3. 返回ParcelFileDescriptor.open(file,ParcelFileDescriptor.MODE_READ_ONLY)
  4. 的结果

    是否可以通过直接实现代表记录列值的ParcelFileDescriptor来避免这些步骤和重复?

    (我可以将字符串值存储在文件中以避免重复,但我希望继续使用SQLite提供的FTS3工具)

    感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

是的,我使用public ParcelFileDescriptor simpleQueryForBlobFileDescriptor()

开始工作

我无法相信我错过了这条宝贵的信息:)

编辑:如果需要在返回客户端之前转换数据库列值,还有另一种方法ParcelFileDescriptor[] createPipe()更有用。

如何使用方法can be found here

的示例