0

フォルダーを作成し、画像を電話の内部ストレージに保存したかったのです。以下のコードを使用して、URLから画像をダウンロードしてみました。画像をimageViewにロードすることはできましたが、内部ストレージにフォルダーを保存および作成できませんでした。さらに、警告やエラーメッセージは表示されませんでした。以下の間違ったコードは何か分かりますか?

        Bitmap bm = null;
        InputStream in;

            try{

                in = new java.net.URL("http://blogs.computerworld.com/sites/computerworld.com/files/u177/google-nexus-4.jpg").openStream();
                bm = BitmapFactory.decodeStream(new PatchInputStream(in));
                File mydir = this.getDir("mydir", Context.MODE_PRIVATE);
                mydir.mkdirs();
                File fileWithinMyDir = new File(mydir, "myfile");
                FileOutputStream out = new FileOutputStream(fileWithinMyDir);
                bm.compress(Bitmap.CompressFormat.JPEG, 85, out);



            }
            catch(Exception e1){
                e1.printStackTrace();
            }
  ImageView img = (ImageView) findViewById(R.id.image_display);
  img.setImageBitmap(bm);
4

2 に答える 2

1

以下を使用します。

String path=Environment.getExternalStorageDirectory()
                                .toString() + File.separator 

ディレクトリを取得して画像を保存します。

于 2012-12-06T01:46:38.377 に答える
1

ビットマップを取得したらbm

FileOutputStream fos;

try {
    fos = openFileOutput("file_Name", Context.MODE_PRIVATE);
    bm.compress(Bitmap.CompressFormat.PNG, 100, fos);
    fos.close();
}catch (Exception e){
...
}

ファイルを内部ストレージに保存します

于 2012-12-06T01:51:03.407 に答える