将项目中图片文件保存到SD卡中

来源:互联网 发布:80端口被4占用怎么办 编辑:程序博客网 时间:2024/05/04 08:02

得到SD卡的路径:

Environment.getExternalStorageDirectory()

      findViewById(R.id.write_btn).setOnClickListener(fileHandler);        findViewById(R.id.read_btn).setOnClickListener(fileHandler);        fileIv = (ImageView)findViewById(R.id.file_iv) ;        sdcard = Environment.getExternalStorageDirectory() ;        fileName = sdcard +"/first.png"  ;private OnClickListener fileHandler = new OnClickListener() {        @Override        public void onClick(View v) {            switch(v.getId()){            case R.id.write_btn :                saveImg();                break ;            case R.id.read_btn :                readImg();                break ;            }        }    };    protected void saveImg() {        Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher) ;        File file = new File(fileName) ;        if(!file.exists()){            try {                file.createNewFile() ;                FileOutputStream fos = new FileOutputStream(file) ;                bitmap.compress(CompressFormat.PNG, 50, fos) ;                Toast.makeText(this, "save success", Toast.LENGTH_SHORT).show();                 fos.close();            } catch (IOException e) {                e.printStackTrace();            }        }    }    protected void readImg() {        File file = new File(fileName) ;        if(file.exists()){            Bitmap bitmap = BitmapFactory.decodeFile(fileName) ;            fileIv.setImageBitmap(bitmap);        }    }

重要的权限不要忘记:

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

提醒:虚拟机创建的时候没有设置SD卡空间的会报file.createNewFile()的Permission denied异常

原创粉丝点击