sqliteにイメージデータを書き込む方法

1,943 views
Skip to first unread message

wahihi

unread,
Jul 7, 2010, 3:04:48 AM7/7/10
to 日本Androidの会
お世話になっております。
sqliteにイメージデータを書き込む方法を探していますがなかなか分かりませんので質問いたします。
やりたい事はJpegとかPngなどのイメージデータをSQLiteに入れて読みたいです。


質問1)
イメージデータを何所かに格納してそれを読んでデータベースに書きますけど
最初にイメージデータを格納する場所とか格納方法を分かりません。
単純にeclipseのdrawableフォルドにコピーすれば良いですか?

質問2)
何所かにあるイメージデータをSQLiteに追加したり読んだりする方法が分かりたいです。

以上です。
よろしくお願いいたします。

伊藤 靖

unread,
Jul 7, 2010, 6:02:37 AM7/7/10
to 日本Androidの会
sqlでBLOBとかって調べれば出てくるかと思います。
Androidだと何かしなければならないのであれば、
わかりませんが、こんなんでどうですか?

http://www.3rd-impact.net/Document/SQLite/Translation/readme_sqlite_tutorial/

寺西良太

unread,
Jul 7, 2010, 7:09:32 AM7/7/10
to android-g...@googlegroups.com
wahihi様

寺西と申します。まず画像の保存先に関してですが、リソースを用いた場合、一度Bitmapに
した上で、改めてjpegやpngとして保存する手間が生じてしまいます。
であれば、はじめからsdcardにファイルとして画像を保存しておき、それを参照するのが
楽かと思います。

画像の保存や読み出しの手順に関しましては、以下のような方法で良いかと思います。

保存
1. FileInputStreamで画像をbyte配列として読み出し
2. データベースを開き、SQLiteDatabaseのインスタンスを得る
3. SQLiteDatabase.compileStatementでINSERTのプリコンパイルドステートメント
 (SQLiteStatement)を用意
4.画像のbyte配列をSQLiteStatement.bindBlobでバインドし、SQLiteStatement.executeInsert
 でクエリを発行

読み出し
1.データベースを開き、SQLiteDatabaseのインスタンスを得る
2.SQLiteDatabase.rawQueryで画像のファイル名なりIDなりを指定しながらSELECTの
 クエリを発行し、その結果をCursorとして取得
3.Cursor.getBlobで画像のbyte配列を得る

以上になります。

寺西

2010年7月7日16:04 wahihi <wahih...@gmail.com>:

--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。


Reply all
Reply to author
Forward
0 new messages