将ImageView保存到sdcard android

Wil*_*lim 4 java android image imageview

我要救的ImageView,我与展示setImageURISDcard我的Android设备中...

我怎样才能做到这一点?

码:

public class MainActivity extends ActionBarActivity {

ImageView imageView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    imageView = (ImageView) findViewById(R.id.imageView);

    imageView.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setType("image/*");
            intent.setAction(Intent.ACTION_GET_CONTENT);
            startActivityForResult(Intent.createChooser(intent, "Select Image"), 1);
        }
    });
}

@Override
protected void onActivityResult(int reqCode, int resCode, Intent data) {
    if(resCode == RESULT_OK){
        if(reqCode == 1)
            imageView.setImageURI(data.getData());
    }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Pan*_*kaj 8

使用以下方法将其保存到SdCard:

@Override
protected void onActivityResult(int reqCode, int resCode, Intent data) {
    if(resCode == RESULT_OK){
        if(reqCode == 1)
            imageView.setImageURI(data.getData());
            Bitmap bm=((BitmapDrawable)imageView.getDrawable()).getBitmap();
            saveImageFile(bm);
    }
}

    public String saveImageFile(Bitmap bitmap) {
            FileOutputStream out = null;
            String filename = getFilename();
            try {
                out = new FileOutputStream(filename);
                bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            return filename;
        }

        private String getFilename() {
            File file = new File(Environment.getExternalStorageDirectory()
                    .getPath(), "TestFolder");
            if (!file.exists()) {
                file.mkdirs();
            }
            String uriSting = (file.getAbsolutePath() + "/"
                    + System.currentTimeMillis() + ".jpg");
            return uriSting;
        }
Run Code Online (Sandbox Code Playgroud)