TShopping

標題: Android Intent 如何Base64編解碼傳圖在Imageview秀出 [打印本頁]

作者: woff    時間: 2016-12-15 20:38
標題: Android Intent 如何Base64編解碼傳圖在Imageview秀出
在用intent傳資料時以字串居多
但是圖片無法直接傳遞
所以必須先將圖片先給予編碼
到新的Activity時
再給予解碼在imageview秀出

a.java裡
先抓取imageview上的Icon
  1. //Get Imageview Drawable and base64 to Intent
  2. Bitmap bitmap = ((BitmapDrawable)imageview.getDrawable()).getBitmap();
  3. ByteArrayOutputStream stream = new ByteArrayOutputStream();
  4. bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream );
  5. byte bytes[] = stream.toByteArray();
  6. String base64 = Base64.encodeToString(bytes, Base64.DEFAULT);
  7. String icontmp = base64;
  8. Intent i=new Intent();
  9. i.setClass(a.this, b.class);
  10. Bundle b1 =new Bundle();
  11. b1.putString("icon", icontmp);
  12. i.putExtras(b1);
  13. startActivity(i);
複製代碼


b.java裡
最後在imageview秀Icon
  1. //Get Intent String data
  2. label = getpackageinfo.getString("name");
  3. name = getpackageinfo.getString("label");
  4. icon = getpackageinfo.getString("icon");
  5. //decode base64 and Convert bitmap to drawable
  6. byte[] decode = Base64.decode(icon,Base64.DEFAULT);
  7. Bitmap bitmap = BitmapFactory.decodeByteArray(decode, 0, decode.length);
  8. //Set Icon to Imageview
  9. IV.setImageBitmap(bitmap);
複製代碼

這樣就可以了




參考文章
http://stackoverflow.com/questio ... tached-to-imageview
http://www.cnblogs.com/zhoujian315/p/3272571.html
https://www.kancloud.cn/digest/androidtome/117273
http://blog.csdn.net/lincyang/article/details/46596899





歡迎光臨 TShopping (http://www.tshopping.com.tw/) Powered by Discuz! X3.2