導航:首頁 > 操作系統 > androidbundle傳遞對象

androidbundle傳遞對象

發布時間:2024-03-27 00:53:52

1. android Intent傳遞對象為什麼要序列化,序列化有那幾種方式

        我們都知道進行android 開發的時候,跳轉到Activity和Fragment的時候,傳遞對象是通過Intent或者bundle 進行傳遞。當這個對象沒有實現序列化的時候 當你通過Inetnt傳遞的時候會報紅,系統會提示你將這個對象實現序列化。

      1.先了解一下 什麼是序列化。通過對《Android 開發藝術探索》可以知道序列化是將一個對象轉化成可存儲可傳輸的狀態,序列化後的對象可以在網路上傳輸,也可以存儲到本地。

       2.回到我們的主題,那為什麼要序凳春列化呢?<大致有三個原因>

         則橡      a.永久性保存對象,保存對象的位元組序列到本地文件中

               b.對象可以在網路中傳輸

               c.對象可以在IPC之間傳遞

    3.序列化有那幾種方式呢<有兩種方式> 

      android自定義對象可序列化有兩個選擇一個是Serializable和Parcelable

     4.它們之間有什麼區別?

             a.在使用內存的時候Parcelable比Serializable的性能高。

             b.Serializable在序列化的時候會產生大量的臨時變數,從而引起頻繁的GC(內存回收)。

             c.Parcelable不能使用在將對象存儲在磁碟上這種情況,因為在外界的變化下Parcelable不能很好的保證數據的持續性。

            d.實現Serializable很簡單 因為Serializable是一個空介面 所以只要在在實體類中實現這個接孫粗旁口即可 Parcelable就稍微復雜了一點了 

            這里有實現Parcelable 這個介面的列子  blog.csdn.net/jaycee110905/article/details/21517853  

2. android bundle能傳遞bitmap嗎

可以啊 可以直接傳好吧!
Bitmap bitmap = null;
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putParcelable("bitmap", bitmap);
intent.putExtra("bundle", bundle);
bitmap已經自己實現了Parcelable介面

3. android bundle可以傳遞arraylist嗎

可以的

4. android intent 可以傳遞enum 嗎

可以使用序列化對象保存enum對象,如下內容:
bundle.putSerializable(String key , Seralizable data) //向Bundle放入一個可序列化的對象,例如:enum123123

示例:
Intent intent = new Intent(MainActivity.this,OtherActivity.class);
Bundle bundle = new Bundle();
bundle.putSerializable("enum", YourEnum.TYPE1);
intent.putExtras(bundle); //將bundle傳入intent中。12341234

get
bundle.getXxx(String key);//從Bundle取出Int、String等各種類型的數據
bundle.gutSerializable(String key ) //從Bundle取出一個可序列化的對象,例如:enum1212

示例:
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
YourEnum TYPE1 = (YourEnum ) bundle.get("enum");//這時使用get()取出一個Object類型的對象,可以進行強制類型轉化。

閱讀全文

與androidbundle傳遞對象相關的資料

熱點內容
密鑰如何加密隨機數 瀏覽:379
統計學中pre的演算法 瀏覽:409
inline函數在編譯時不做類型檢查 瀏覽:266
經緯度查詢android 瀏覽:760
vivoz5x方舟怎麼進伺服器 瀏覽:496
vivox50安卓微信人臉支付怎麼開啟 瀏覽:893
cmd退出python命令 瀏覽:531
恢復u盤加密隱藏的文件 瀏覽:921
對某個人加密應該用公鑰 瀏覽:998
機頂盒中央1加密 瀏覽:95
單片機的出現有什麼影響 瀏覽:227
linuxtar備份系統 瀏覽:63
窗口滑鼠錄制編譯 瀏覽:84
雲伺服器可以攻擊嗎 瀏覽:558
主力吸籌派發區域指標源碼 瀏覽:695
單片機pc的低位元組怎麼算 瀏覽:230
pythoneval函數源碼 瀏覽:242
linuxmongodb服務啟動 瀏覽:766
在哪裡下載核酸檢測app 瀏覽:310
esxi啟動虛擬機命令 瀏覽:969