天天看點

Android 學習之路 1:如何在Activity之間傳遞資料

建立 activity

在項目中右鍵,選擇 new,繼續選擇中下方的 activity,最後是 blank activity。

此時 android studio 會為我們自動添加一個對應的布局檔案,為布局檔案中的 textview 添加 id,以便後續使用。

用intent 發送資料

在主布局檔案中建立一個 button 控件,并在主類中定義它,然後為它設定 click 的監聽事件。

用 intent 接收資料

接下來再之前建立的 activity 中同樣建立一個 intent 進行接受即可。和發送試用的 putextra 類似,接受也可以用 getstringextra 。當然了,正對不同的資料類型可以用不同的方法。

在兩個 activity 之間也可以用 bundle 包來進行資料的傳遞,相比上一種方式,這一種可以包含更多的資料,你可以将其認為是一個集合,這也正符合“包”的概念。

建立 bundle

bundle 可以嵌套 bundle

對 intent 對象使用 putextras 方法

根據相應的 key 值擷取相應的bundle資料

android 開發過程中自然少不了“類”了,那麼這種資料又如何傳輸呢。

切記:一定要執行序列化,即加上“implements serializable”

相應有了前面的了解,大家都可以直接猜到如何使用了,那我就不再啰嗦了。

使用者需要與應用進行互動,應用需要将使用者輸入的資料進行傳回,是以……

在主 activity 中定義 button 和 textview,前者用于導航至次 activity , 後者用于顯示傳回的資料。

在次 activity 中定義 button 和 edittext,前者用于确認并傳回至主 activity,後者用于使用者輸入。

在次 activity 中:

同樣用 intent 傳遞資料

用 setresult 設定傳回結果

最後用 finish

在主 activity 中:

用 startactivityforresult 進行導航,并請求結果

重載 onactivityresult 方法,并通過 data 參數擷取資料。

好了,activity 之間就是這麼傳遞資料的……

零點半了……睡覺……

繼續閱讀