Android:画像を保存してみる

MediaStore.Images.Media.insertImageを使ってみる

カメラの写真のフォルダに画質の低いjpegで保存してしまう使い所のよくわからないメソッド。
ダメメソッド?

マジメにファイル書き込み処理をする

というわけで、マジメなファイル書き込み処理にてSDカードのPictureフォルダに書きこむ

String sdPath = Environment.getExternalStorageDirectory().getAbsolutePath();
File file = new File(sdPath,"/Pictures/hoge.png");

FileOutputStream out = null;
try {
 out = new FileOutputStream( file );
 b.compress( CompressFormat.PNG, 100, out );
 out.flush();

} catch (FileNotFoundException e ) {
} catch (IOException e ) {
} finally {
 try {
  if (out != null)
   out.close();
  } catch (IOException ex) {}
 }
}
ところで、Pictures直下に画像を保存した場合はGalleryに表示されるが、新しいフォルダを切った場合、表示されない。
どうやらContentResolver.insertで解決できるらしいが、まだ試していない。

さらにところで、SDカードにファイルを書き込むためにはAndroidManifest.xmlに権限の追加が必要。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

コメント

このブログの人気の投稿

nginxでlocalhostとしてアクセスをサーバーに転送する方法

Android・・・テキスト描画あれこれ, ascent(), descent()等

Android:stateに応じて切り替わるdrawable・・・StateListDrawable