2011-10-31 72 views
2

我已經在我的應用程序的res文件夾中存儲了一些圖像。但用戶可以使用下載選項將此圖像下載到他們的SD卡。如何將res文件夾中的圖像複製到sdcard。誰能幫我。從res目錄複製圖像

+2

要麼使用屏幕截圖代碼,要麼將圖像置於文件夾 – ingsaurabh

+0

+1,ya,按照上述建議將圖像放入資產文件夾或在活動中加載圖像,然後捕獲scr但它是最醜陋的方式,只需將圖像放在資產中並將其複製到SD卡即可。 – user370305

回答

3

你可以做這樣的事情,

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 { 

      } 

檢查SD卡

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