2011年3月 3日アーカイブ

簡単なカメラアプリを作っているのですが、撮影した画像が保存できませんでした。

手元の本では、FileOutputStreamを使って、SDカードに保存しているのですが、どうもうまく行きません。
ファイルのパスが間違っているのか?とか、いろいろやってみても、うまく行きません。

そこで、本はちょっと諦めて、ネットでいろいろ見ていると、insertImageを使った保存方法があるようです。
onPictureTakenの中で、
Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length, null);
で、データ配列をビットマップ化して、
MediaStore.Images.Media.insertImage(getContentResolver(), bmp, "", null);
で、保存・・・
getContentResolver()がエラーになりました。
MediaStore.Images.Media.insertImage(getContext().getContentResolver(), bmp, "", null);
で、保存・・・
よし!エラーなしです。

実行・・・

お~保存できました。
場所は、SDカード内の、写真が保存されている所に、Cameraと言うフォルダが作られて、その中でした。
特に何も指定してないので、自動で選ばれたようです。
ファイル名も適当な数字でした。

MTBlog50c2BetaInner

ランダムブログ

2011年11月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      

最近のコメント

MovableType(MT)テンプレート 無料(フリー)
Powered by Movable Type 5.03