iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 10
1
自我挑戰組

Android初學筆記系列 第 10

Day 10 - 第二個Activity

APP執行時難免需要畫面的跳轉,這時可以建立另一個Activity或用Fragment來完成,我們就先用比較基本的建立Activity方式來練習。

今天會實作建立另一個頁面(Activity),並將原頁面的資料傳遞過去。

也祝大家聖誕快樂,天氣不冷可以多出去走走,不要像我宅在家發廢文。

建立Activity

  1. 在[Java -> 您的package name]上按右鍵,選擇New -> Java Class
    http://ithelp.ithome.com.tw/upload/images/20161225/201038499TV9ASoq8r.jpg

  2. 輸入名稱SecondActivity,Superclass則是AppCompatActivity,只要打前面幾個字如AppCo就可以用自動完成打完,並按OK,旁邊就會出現檔案了
    http://ithelp.ithome.com.tw/upload/images/20161225/20103849FClHVtgAww.jpg
    http://ithelp.ithome.com.tw/upload/images/20161225/2010384989YiLvgwIT.png

  3. 在AndroidManifest.xml中添加剛剛新增的Activity,這樣就新增完成了
    http://ithelp.ithome.com.tw/upload/images/20161225/20103849p2qP6bidFP.png


佈置介面

  1. 目前SecondActivity是完全空白的內容,我們先幫它新增介面檔。在layout上按右鍵 -> New -> Layout resource file
    http://ithelp.ithome.com.tw/upload/images/20161225/20103849FNpKICG4TY.png

  2. 輸入名稱activity_second後按OK
    http://ithelp.ithome.com.tw/upload/images/20161225/20103849oTSRXBWduP.png

  3. 在介面中新增一個TextView用來辨別。
    可以注意到這裡的Layout是LinearLayout(線性布局),特點是用android:orientation來控制排版,當設為vertical時就先各元件由上往下一個個擺放,另外有horizontal可以從左至右擺,在比較簡單的介面中不妨用LinearLayout也許會方便很多。
    http://ithelp.ithome.com.tw/upload/images/20161225/20103849Ay1LU7uKSp.png

  4. 回到Java程式連結介面檔,完成SecondActivity的介面
    http://ithelp.ithome.com.tw/upload/images/20161225/20103849ri3x6tvA6Q.png


啟動Activity

我們可以藉由Intent來啟動Activity,通常將Intent翻為意圖,第一個參數是context,第二個參數就是要啟動的Activity。

我們將[確定]按鈕的listener改成這樣
http://ithelp.ithome.com.tw/upload/images/20161225/201038498EPVSYpF44.png

執行APP,按下確定就會跳到SecondActivity了
http://ithelp.ithome.com.tw/upload/images/20170101/20103849Nerm3ovydu.png


傳遞資料

我們用Bundle來傳遞資料,將要傳的資料放進Bundle,再請Intent一起帶過去就可以了。

將使用者輸入的名字放進bundle帶走
http://ithelp.ithome.com.tw/upload/images/20161225/20103849jE2ZwC0KAa.png

接收資料,將SecondActivity改成這樣
http://ithelp.ithome.com.tw/upload/images/20161225/201038494eG6HNGA4D.png

輸入名稱後按確定,就會在下一頁顯示囉
http://ithelp.ithome.com.tw/upload/images/20170101/20103849g5u6DaXZ1v.png


上一篇
Day 9 - 支援多國語系
下一篇
Day 11 - Activity的生命週期
系列文
Android初學筆記30

尚未有邦友留言

立即登入留言