接下來要介紹到的是,最基本的應用程式元件----Activity,要在螢幕上顯示畫面,必須透過畫面配置元件(也就是layout)以及產生控制的應用元件(Activity),也將透過他來顯現圖片或文字或是地圖給使用者,或是將使用者的操作傳送給程式來做控制,所以說,Activity扮演著使用者介面的角色。簡單來說就是若有第二個畫面我們必須寫出第二個畫面的主程式碼,就是第二個Activity。
接下來,要產生一個Activity並對應Layout的名稱,我是用畫面原本預設的,MainActivity2跟activity_main2。
按下finish之後就會設立完成,這時候我們就會有兩個Activity以及兩個layout。
接著介紹到切換兩個Activity該怎麼做,我們會利用Intent這個傳遞物件,這個詞字面上是意圖的意思,簡單說就是希望利用Intent使A意圖啟動B,我們需要使用startActivity()這個方法,Intent有兩個參數,第一個是我們要由哪個元件發起這個意圖,第二個是參數被動接受的對象是哪個元件。
Intent可以做到基本的切換之外,也可夾帶一些資料到接受意圖方,我們就要使用Intent傳遞資料的方法,以下是最簡單的傳遞資料語法,主要描述將MainActivity透過Intent切換到MainActivity2的意圖,並透過Intent傳送資料。
Input.putExtra()可以想像是把想傳遞的資料貼上標籤,接收的對象可以標籤去得到所要的資料。
接受到intent被喚起的MainActivity2如果想取得傳過來的資料,intent可以取得MainActivity傳過來的intent,extras可以取得底下夾帶的資料,使用getInt(key)方法找到傳遞的資料,返回值就是夾帶的資料,透過bundle可以一次打包不同的資料型態,打包時,需要依據形態透過putInt()或putString()來儲存資料。
接著介紹到返回資料,其最大的目的在於希望資料可以在了個Activity中往來,這時就會使用到startActivityForResult(),第一步,MainActivity使用startActivityForResult()方法啟動MainActivity2,再來,MainActivity2使用setResult()方法儲存要返回的資料,MainActivity使用finish()結束並返回MainActivity,最後,MainActivity使用onActivityResult()方法取得返回資料。
下一篇會透過小小的實作去應用這些功能。