1.打开读写SD卡的权限

需要在AndroidManifest.xml加入如下代码:

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


第一种方法:

public  void saveBitmap(String bitName, Bitmap mBitmap) {File f = new File("/sdcard/" + bitName + ".png");try {f.createNewFile();} catch (IOException e) {Tools.ToastShort("在保存图片时出错:" + e.toString());}FileOutputStream fOut = null;try {fOut = new FileOutputStream(f);} catch (FileNotFoundException e) {e.printStackTrace();}mBitmap.compress(Bitmap.CompressFormat.PNG, 100, fOut);try {fOut.flush();} catch (IOException e) {e.printStackTrace();}try {fOut.close();} catch (IOException e) {e.printStackTrace();}}


第二种方法:

1、

public boolean writePngFile(File outFile) { // 将在屏幕上绘制的图形保存到SD卡boolean resault = false; // 存储标识,false为保存失败try {FileOutputStream fos = new FileOutputStream(outFile); // 创建文件输出流(写文件)if (editBitmap[0].compress(Bitmap.CompressFormat.PNG, 100, fos)) { // 将图片对象按PNG格式压缩(质量100%),写入文件resault = true; // 存储成功}fos.flush(); // 刷新fos.close();// 关闭流} catch (Exception e) {e.printStackTrace();}return resault;}

2、

public void saveBitmap() {final int fileIndex = getSharedPreferences("bitmapIndex",Context.MODE_PRIVATE).getInt("index", 0); // 从共享偏好的记录中取出文件流水号,首次从0开始new AlertDialog.Builder(this).setTitle("提示信息") // 创建并显示提示对话框.setIcon(android.R.drawable.ic_menu_manage) // 设置图标.setMessage("保存到SD卡: 钧瓷" + fileIndex + ".png?") // 设置提示信息.setPositiveButton("确定", new OnClickListener() { // 按下“确定”按钮的处理public void onClick(DialogInterface dialog,int which) {File outFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+ File.separator+ "钧瓷/钧瓷"+ fileIndex+ ".png");// 在SD卡上新建文件if (MyCanvas.editArea.writePngFile(outFile)) { // 将绘制路径绘制到位图,并压缩保存getSharedPreferences("bitmapIndex",Context.MODE_PRIVATE).edit().putInt("index",(fileIndex + 1) % 5).commit();// 流水号循环递增0~4Tools.ToastShort("保存成功!");isSave = false;if (index == 2) {ScreenNum = 1;MyCanvas.menu.creat();}}}}).setNegativeButton("取消", new OnClickListener() {// 按下“取消”按钮的处理public void onClick(DialogInterface dialog,int which) {isSave = false;if (index == 2) {ScreenNum = 1;MyCanvas.menu.creat();}}}).create().show();}

更多相关文章

  1. 详细解读Android中的搜索框(四)—— Searchable配置文件
  2. 安卓开发之实现下角圆形按钮
  3. Android Studio 指定DEBUG和RELEASE版本打包时的APK文件名
  4. Android中使用 MediaExtractor 和 MediaMuxer解析、封装 mp4 文
  5. Android中按钮点击效果显示
  6. android:shape的使用 (android用xml文件生成图像控件)
  7. android 自定义View 在布局文件中写法
  8. Android上传下载文件(图片)
  9. android 自定义按钮的外边框

随机推荐

  1. 热更新-Android与Lua相互通信
  2. Android运行时异常“Binary XML file lin
  3. Android(安卓)中的危险权限
  4. Android(安卓)使用draw9patch技术实现不
  5. android中Retrofit2.0的封装:设计到请求前
  6. 如何在首次启动时跳过Google安装向导
  7. android 条码识别软件开发全解析:1
  8. 使用 buck 打包 Android( 使用OkBuck给And
  9. 求解答:Android的一个小的应用程序在模拟
  10. Android(安卓)图片平铺效果bitmap