android 將res內圖片文件經過Bitmap對象存到手機本地中

問題分析: java

    須要將app內的圖片分享到社交網絡中去。爲了減輕開發任務,我直接使用社交網站官網提供的SDK進行開發,而是使用第三方已經將各社交網站SDK集成到一塊兒的SDK。 android

    經過查閱第三方SDKAPI發現,分享圖片所調用的方法須要圖片在本地中的存放路徑做爲參數,可是我所操做的圖片是存在android工程項目中的res文件夾中的,當編譯成apk的時候這些文件都會變成二進制流。 網絡

解決方案: app

    將二進制流變成Bitmap對象,將Bitmap對象經過png格式圖片文件保存在手機中,以後將存放路徑做爲參數提供給第三方接口便可。 網站

把res內二進制流變成Bitmap對象方法: code


Resources res = getResources();
int id_=res.getIdentifier("imgcontent" + resId, "drawable", getPackageName());
Bitmap bitmap=BitmapFactory.decodeResource(res, id_);
將Bitmap對象存一png格式存在手機中的方法:



File f = new File("/sdcard/baikeImage"+".png");
f.createNewFile();  
FileOutputStream fOut = null;  
try {  
    fOut = new FileOutputStream(f);  
} catch (FileNotFoundException e) {  
    e.printStackTrace();  
}  
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fOut);  
try{
    fOut.flush();  
} catch (IOException e) {  
    e.printStackTrace();  
}  
try {  
    fOut.close();  
} catch (IOException e) {  
    e.printStackTrace();  
}


這樣就能夠將res中額圖片分享到網絡中了。 orm

相關文章
相關標籤/搜索