【问题标题】:Copy a image from res directory从 res 目录复制图像
【发布时间】:2011-10-31 12:05:18
【问题描述】:

我在我的应用程序的 res 文件夹中存储了一些图像。但是用户可以使用下载选项将此图像下载到他们的 SD 卡。如何将 res 文件夹中的图像复制到 sdcard。谁能帮我。

【问题讨论】:

  • 要么使用屏幕截图代码,要么将图像放在assest文件夹中
  • +1,是的,根据 ingsaurabh 的建议,将图像放入资产文件夹或在活动中加载图像然后捕获屏幕,但这是最丑陋的方式,只需将图像放入资产并将其复制到 sdcard。

标签: android


【解决方案1】:

你可以这样做,

    if (isSdPresent()) { // to check is sdcard mounted
            BitmapFactory.Options bmOptions;
            bmOptions = new BitmapFactory.Options();
            bmOptions.inSampleSize = 1;
            Bitmap bbicon = BitmapFactory.decodeResource(getResources(), R.drawable.icon);

            String extStorageDirectory = Environment.getExternalStorageDirectory()+ File.separator + "FolderName";
            File wallpaperDirectory = new File(extStorageDirectory);
            wallpaperDirectory.mkdirs();
            OutputStream outStream = null;
            File file = new File(wallpaperDirectory,"icon.png");
                     //to get resource name getResources().getResourceEntryName(R.drawable.icon);

        try {
            outStream = new FileOutputStream(file);
            bbicon.compress(Bitmap.CompressFormat.PNG, 100, outStream);
            outStream.flush();
            outStream.close();


            } catch (FileNotFoundException e) {
            e.printStackTrace();


            } catch (IOException e) {
            e.printStackTrace();

            }
            } else {

            }

检查 SDCard

public boolean isSdPresent() {
        return android.os.Environment.getExternalStorageState().equals(
        android.os.Environment.MEDIA_MOUNTED);
        }

【讨论】:

    【解决方案2】:

    也许this could help you 从您的图像中获取流并将其发布给用户以供下载...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      相关资源
      最近更新 更多