2013-07-23 44 views
0

我的內容提供商將數據存儲在SQLite數據庫中。一列是一個字符串。我想將此字符串作爲附件添加到電子郵件中。Can ParcelFileDescriptor是否代表數據庫列?

我通過實施ParcelFileDescriptor openFile(Uri uri, String mode)得到了這個工作。實施

  1. 查詢從數據庫中列值
  2. 存儲在一個文件中
  3. 返回值返回ParcelFileDescriptor.open(file,ParcelFileDescriptor.MODE_READ_ONLY)

結果是有可能避免通過實施這些步驟和重複ParcelFileDescriptor這將直接表示記錄的列值?

(我可以將字符串值存儲在文件中,以避免重複,但我想使用的SQLite提供FTS3工具保存)

謝謝您的幫助!

回答

0

耶,我把它用public ParcelFileDescriptor simpleQueryForBlobFileDescriptor()

工作,我簡直不敢相信,我錯過了這個珍貴的資料片:)

編輯:還有另一種方法ParcelFileDescriptor[] createPipe()即如果比較有用數據庫列值在返回客戶端之前需要進行轉換。

如何使用方法can be found here的示例。

+1

哇,我站好了。從api級別11開始,有一個內置函數用於創建與數據庫blob相對應的內存映射文件。做得好。 –

+0

謝謝j__m! MMF仍然是某種重複,但它比手動創建臨時文件要好。 – Y2i

相關問題