android activity間圖片傳遞

// 工具類 如下

// 獲取imageview的image并轉(zhuǎn)化為可傳遞的數(shù)據(jù)
public class KapBitmapHalper {
    // 獲取imageview的圖片,并且轉(zhuǎn)化為可傳遞的string
    public static String GetStringByImageView(ImageView imageView){
        // 從ImageView得到Bitmap對象
        Bitmap bitmap = ((BitmapDrawable)imageView.getDrawable()).getBitmap();
        // 把Bitmap轉(zhuǎn)碼成字符串
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.PNG, 50,baos);
        String imageBase64 = new String (Base64.encode(baos.toByteArray(), 0));
        return imageBase64;
    }
    // 將字符串轉(zhuǎn)化為圖片
    public static Bitmap GetBitmapByImageString(String imageBase64){
        byte[] byte64 = Base64.decode(imageBase64, 0);
        ByteArrayInputStream bais = new ByteArrayInputStream(byte64);
        Bitmap bitmap = BitmapFactory.decodeStream(bais);
        return bitmap;
    }
    /**
     *  提供一個簡單的傳遞(全局公用 僅僅可以暫存一張圖片)
     *  saveImageView
     *  getImageBitMap
     * */
    private static String imageString = null;
    public static void SaveImageView(ImageView imageView){
        imageString = GetStringByImageView(imageView);
    }
//  R.mipmap.mine_placehold 是默認的占位圖,防止null 引起crach
    public static Bitmap GetImageBitMap(){
        if (imageString == null) return BitmapFactory.decodeResource(Resources.getSystem(), R.mipmap.mine_placehold);
        return GetBitmapByImageString(imageString);
    }
// 使用
// 需要傳遞的頁面
KapBitmapHalper.SaveImageView(imageView);
                startActivity(new Intent(KapMineCenterActivity.this, KapAccountDetailActivity.class));
// 需要獲取的頁面
imageView.setImageBitmap(KapBitmapHalper.GetImageBitMap());
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容