Android中Activity之間傳遞數據詳解

    Activity之間傳遞數據一般有兩大種方式:1、通過Intent結合Bundle傳遞數據 2、只使用Intent傳遞數據

    下面通過一個例子來演示兩種方式的實現,MainActivity代碼如下:

   

    該MainActivity界面佈局很簡單,只有一個按鈕button用於點擊跳轉到另一個Activity即MyActivity,在MainActivity的最後我們定義了Person類並且使其實現了Serializable(可序列化)接口,用作我們之後要傳遞的對象數據。

    首先我們看在按鈕點擊響應代碼塊中的第一種傳遞數據的方式,通過intent.putExtra("name","曙光女神");intent.putExtra(“lover”,p1)以key-value對的形式存入數據,指定了名字爲“曙光女神”,情人是“潘森”!

    接下來看第二種傳遞數據方式,先創建了一個Bundle對象bundle,之後通過bundle.putInt("age",26);存入int,long等各種類型的數據;通過bundle.putSerializable("enemy",p2);向Bundle中放入一個可序列化對象;最後通過intent.putExtras(bundle);向Intent中放入需要攜帶的數據包。

    MyActivity中的代碼如下:

   

    先通過getIntent()方法獲得啓動該Activity的Intent,之後就可以通過如代碼所示方式取出傳遞過來的數據了,需要說明的是可以直接通過Intent取出它所攜帶的Bundle數據包中的數據!

    總結:兩種方式相比較,第二種方式更簡便且基本功能都可以實現!★需要說明的是通過Intent重載的putExtra(String name,Xxx value),getXxxExtra(String name)來傳遞數據原理上依舊是存取Intent所攜帶的Bundle中的數據,只是做了良好的封裝!

   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章