問題分析: 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