亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將Bitmap對象從一個活動傳遞到另一個活動

如何將Bitmap對象從一個活動傳遞到另一個活動

墨色風雨 2019-06-21 15:36:23
如何將Bitmap對象從一個活動傳遞到另一個活動在我的活動中,我創建了一個Bitmap對象,然后我需要啟動另一個Activity,我怎么通過這個?Bitmap對象來自子活動(即將啟動的子活動)?
查看完整描述

3 回答

?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

Bitmap實施器Parcelable,這樣你就可以隨心所欲地通過它了:

Intent intent = new Intent(this, NewActivity.class);intent.putExtra("BitmapImage", bitmap);

并在另一端取回它:

Intent intent = getIntent(); Bitmap bitmap = (Bitmap) intent.getParcelableExtra("BitmapImage");


查看完整回答
反對 回復 2019-06-21
?
元芳怎么了

TA貢獻1798條經驗 獲得超7個贊

由于Parceable(1mb)的大小限制,將位圖在活動之間作為可解析的方式傳遞不是一個好主意。您可以將位圖存儲在內部存儲的文件中,并在多個活動中檢索存儲的位圖。這是一些示例代碼。

將位圖存儲在文件中MyImage在內部儲存:

public String createImageFromBitmap(Bitmap bitmap) {
    String fileName = "myImage";//no .png or .jpg needed
    try {
        ByteArrayOutputStream bytes = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
        FileOutputStream fo = openFileOutput(fileName, Context.MODE_PRIVATE);
        fo.write(bytes.toByteArray());
        // remember close file output
        fo.close();
    } catch (Exception e) {
        e.printStackTrace();
        fileName = null;
    }
    return fileName;}

然后,在下一個活動中,您可以使用以下代碼將該文件myImage解碼為位圖:

//here context can be anything like getActivity() for fragment, this or MainActivity.this
Bitmap bitmap = BitmapFactory.decodeStream(context.openFileInput("myImage"));

大量的零和縮放位圖檢查是完整的。


查看完整回答
反對 回復 2019-06-21
  • 3 回答
  • 0 關注
  • 751 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號