0

私のコンテンツ プロバイダーは、データを SQLite データベースに保存します。1 つの列は文字列です。この文字列を電子メール メッセージの添付ファイルとして添付したいと考えています。

を実装することでこれが機能しましたParcelFileDescriptor openFile(Uri uri, String mode)。実装

  1. データベースから列の値を照会します
  2. 戻り値をファイルに格納します
  3. の結果を返しますParcelFileDescriptor.open(file,ParcelFileDescriptor.MODE_READ_ONLY)

ParcelFileDescriptorレコードの列の値を直接表すことを実装することで、これらの手順と重複を回避することは可能ですか?

(重複を避けるために文字列値をファイルに保存することもできますが、SQLite が提供する FTS3 機能を引き続き使用したいと考えています)

ご協力ありがとうございました!

4

1 に答える 1

0

ええ、 public ParcelFileDescriptor simpleQueryForBlobFileDescriptor()を使用して動作するようになりました

この貴重な情報を見逃したとは信じられません:)

編集: 別のメソッドParcelFileDescriptor[] createPipe()があります。これは、クライアントに戻る前にデータベース列の値を変換する必要がある場合により便利です。

メソッドの使用方法の例は、ここにあります

于 2013-07-23T05:39:55.933 に答える