activity間傳送bitmap的辦法

2021-07-10 20:00:40 字數 1859 閱讀 9866

aactivity.class
drawable mdrawable = imageview.getdrawable();

bitmap bitmap = ((bitmapdrawable) mdrawable).getbitmap();

bundle bundle = new bundle();

bundle.putparcelable("bitmap", bitmap);

intent intent = new intent(this, photoactivity.class);

intent.putextra("bundle", bundle);

startactivity(intent);

photoactivity.class
intent = getintent();

bundle bundle=intent.getbundleextra("bundle");

bitmap bitmap=bundle.getparcelable("bitmap");

imageview.setimagebitmap(bitmap);

但是上面方法傳送的不多,還有一種辦法:
aactivity.class
intent intent = new intent(getactivity(), aactivity.class);

drawable mdrawable=imageview.getdrawable();

bitmap bitmap=((bitmapdrawable) mdrawable).getbitmap();

bytearrayoutputstream bs = new bytearrayoutputstream();

bitmap.compress(bitmap.compressformat.png, 50, bs);

intent.putextra("bytearray", bs.tobytearray());

startactivity(intent);

photoactivity.class

if(getintent().ha***tra("bytearray"))
上面的方法還是有限制的。

如果你使用的是imageloader的話,那就應該用起來它的快取功能.

imageloader.getinstance().displayimage(imageuri,imageview);

string key=diskcacheutils.findincache(imageuri,imageloader.getinstance().getdiskcache()).getpath();

otheractivityimageview.setimageuri(uri.parse(key));
如果一定要傳送bitmap的話,其實就是應該把bitmap快取起來。

Activity間傳遞資料

1.從當前的activity傳遞資料到下乙個activity 1 傳送方 當前的activity bundle bundle new bundle bundle.putstring name haoye bundle.putint id 10 intent intent new intent int...

Activity間如何傳遞物件

我們知道在android 系統中,可以用bundle或intent來儲存和傳遞資料。我們有時由於程式某種需要,可能需要傳遞各種各樣的自定義物件,只傳遞簡單型別的資料是不夠的。但這些物件在activity之間不能直接傳遞,用什麼方法去解決?方法一 將乙個公共類作為物件傳輸中介,但安全性差,可能由於多個...

Android 多個Activity間物件共享

這裡總結了android中幾種物件共享的方式,便於以後查閱。這種方式比較常見,有很多的介紹,主要通過 intent型別,將要傳遞的資料與乙個key繫結,在另一activity中通過key進行取值。但此方式的問題是可以傳遞 共享 的 資料型別有限,比如遇到不可序列化的資料bitmap,inputstr...