ここに最初の投稿がありますので、何か問題がある場合は私にご負担ください。Android:Sqliteが大きなブロブからクラッシュする
私はアプリケーションの画像をsqliteデータベースに保存しようとしています。画像はブロブとして保存する必要があります(これは悪い考えですか?)。そうするコードは次のようになります。
public long createPicture(String title, byte [] thumb, byte [] imageData) {
ContentValues data = new ContentValues();
data.put(T_KEY_TITLE, title);
data.put(T_KEY_CONTENT, imageData); // <-- blob in the db
data.put(T_KEY_THUMB, thumb);
// db is an SQLiteDatabase
return db.insert(TABLE_PICS, null, data); // <-- Crash occurs on this line
}
このコードは、ほとんどの部分は完璧に動作しますが、私はそれがクラッシュ大きな画像(カメラに内蔵さから5メガピクセル)を格納しようとします。クラッシュするだけでなく、データベースを再構築して、再度起動しようとするとアプリがクラッシュすることもあります。
私の質問です:これを回避する方法はありますか、または大きな画像をファイルとして保存してパスを保存する必要がありますか?また、sqliteをいつ使用するのか、そして単にファイルを入手するのかについての一般的なガイドラインが必要です。
ありがとうございます! :)
クラッシュが少し曖昧です。スタックトレースを取得しましたか?エラーメッセージです。もしそうでなければ、あなたは何かのものを手に入れて投稿することができますか? –
私はAndroid開発の新しさを感じていますが、どこで便利なエラーメッセージが表示されますか?それがクラッシュすると、私は "予期せず停止した"ということを私に与えます。私は実際の電話を使用している、それはスタックトレースを得ることは可能ですか? – Gordy
@Gordy:USB経由で携帯電話に接続し、Android SDKでDDMS(私の好み)のようなものを使って、logcatを監視することができます。 Eclipseを使用している場合は、同じことを行うDDMSパースペクティブがあります。 – Squonk