2012-01-23 10 views
0

私はAndroidで最初に動作するPhoneGapアプリケーションを作成しています。SqliteDatabaseで画像を保存するためのオプション

私はそれをカメラから画像を収集し、データベース(データベースのHTML5機能を使用してSQLiteデータベース)に保存するように書いています。

2つのオプションがあります。データベースにイメージを格納し、イメージをSDカードに保存し、ファイル名で参照します。

これをSDカードに保存すると、どのようにして誰かを削除できなくなるのですか?私は正しいことができない、私は彼らもSDカードを削除することができるという意味。

データベースに格納すると、HTML5仕様では、データベースは5 MBを超えないようにしてください。そうであれば、サイズを大きくするかどうかを尋ねられます。しかし、おそらくこれはPhoneGapアプリの問題ではないでしょうか?

答えて

1

イメージをファイルシステムにファイルとして保存することをお勧めします。写真を撮影した後はSDカードに表示されますが、File APIを使用して画像を/ data/data/{app package name}に移動します。そのディレクトリは保護されており、ユーザーはそのサンドボックス内のファイルを削除する可能性はほとんどありません。また、アプリケーションのアンインストール時にディレクトリがクリーンアップされるという追加のボーナスもあります。

これにより、写真を撮ってBase64データを返す際に、さまざまな問題が発生します。多くの携帯電話では、カメラは非常に良いので、base64でエンコードされた文字列がメモリ不足のエラーを引き起こすので、いつでも可能な限りDATA_URLオプションを避けるように指示します。さらに、DB内に格納するデータ量が少なくなり、サイズ制限が緩和されます。

関連する問題