iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 7
1
Software Development

Kotlin with android studio 開發30天不間斷系列 第 7

Kotlin android 30天開發不間斷 day 7.Android Activity

Andorid Activity介面部分 主要由.xml 和 .kt 組合而成 .xml 負責畫面 .kt 負責程式動作 今天一個程式如果有需要多個介面 可以增加Activity

系統就會自動幫你新增.xml 和.kt

但除了增加這兩個檔案之外 另外還在AndroidManifest.xml 中增加了設定

多了一組設定

  • Intent
    Android 應用元件資訊的傳遞一律需要透過Intent(類似管理員)
    今天我們需要從A畫面切換到B畫面 除了透過起動處發之外 還需要包含intent資訊傳遞 例

    創建一個intent 名稱為intent_value 裡面必須包含(起始頁面,作用頁面)
    其中讓我比較困惑的有
  1. ::的作用
  2. class 為何不是kt 詢問一下之後才發現為class名稱
  3. .java
    intent_value.putExtra為攜帶資料 必須帶有key值 進入下一個頁面後會需要key值找尋資料
    最後啟動intent
    方法為startActivity(intent_value)

    第二個畫面如何取值
    intent.getStringExtra("key值")就可以取得由前一個畫面傳遞過來的值 不過由於前一個畫面我是取string值傳送 所以這邊用getStringExtra 如果是其他數值類型應該會用get數值型態Extra
    並且可傳遞Array

    另外在傳遞資料時 也可以利用Bundle 好處是可以傳遞資訊時可以多筆資料一次傳送 也就是打包

    第二介面解包

    這邊請特別注意兩點
    一個是資料型態
    第二個是bundle的包裝形式 因為bundle可以包bundle
    所以指定到bundle最後一層時 直接用get資料型態即可
  • 雙向傳遞 待補
    雙向傳遞需要用到startActivityForResult()啟動第二個Activity
    SetResult()儲存要返回的資料
    第二個Activity 要使用finish方法結束
    重寫OnActivityResult()取得返回資料

上一篇
Kotlin android 30天開發不間斷 day 6.Android 物件控制與監聽事件-補充篇
下一篇
# Kotlin android 30天開發不間斷 day 8.Android Activity-補充篇
系列文
Kotlin with android studio 開發30天不間斷30

尚未有邦友留言

立即登入留言