[Android] Activity to Activity Data Pass (feat. Intent)

2020. 7. 6. 23:38·Android

 

 

intent는 Activity간 데이터를 주고 받을 때 매우 유용한 녀석이다.

 

별다른 인자없이 새 액티비티를 시작한다면 다음과 같이 

intent에 클래스 정보 매개변수로 생성하고

startActivity 메소드를 호출하는 것 만으로도 충분하다.

 

  • 단순히 새 액티비티를 생성하고자 한다면?

기존 액티비티: StoreInfoUpdate => 시작 액티비티 : BusinessHourPick

            val intent = Intent(this@StoreInfoUpdate, BusinessHourPick::class.java)
            intent.putExtra("Key", "Value")
            startActivity(intent)

기존 액티비티에서 새 액티비티에 데이터를 넘기는 것은 간단하다.

 

 

  • Activity A에서 Activity B를 시작하고 B에서 입력받은 값을 Activity A에 적용하려한다면?

startActivityForResult 메소드를 사용하자.

새 액티비티로부터 어떤 데이터를 받고싶은 경우 startActivityForResult 메소드를 사용한다.

 

[Activity A 예제 코드]

val intent = Intent(this@StoreInfoUpdate, BusinessHourPick::class.java)
startActivityForResult(intent, 2000)


// Activity A (기존 액티비티)는 onActivityResult Override를 반드시 해야한다.
    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)

       if (requestCode == REQUEST_CODE_BUSINESS_TIME) {
           if (resultCode == 200) {
           // Activity B로부터 받아온 data를 삽입
               store_business_hours_text.text = data?.getStringExtra("UPDATED_BUSINESS_TIME")
           }
           if (resultCode == 400) {
//               nothing to do (failed to update business Time)
           }
       }
    }

 

 

 

[Reference]

https://stackoverflow.com/questions/14292398/how-to-pass-data-from-2nd-activity-to-1st-activity-when-pressed-back-android
저작자표시 (새창열림)

'Android' 카테고리의 다른 글

Android release Alpha vs Beta  (0) 2020.12.09
[Android] ScrollView with ConstraintLayout  (0) 2020.07.07
[Android] SharedPreference  (0) 2020.07.03
[Android] instance  (0) 2020.07.03
[Android] Service 2편 (Foreground)  (0) 2020.06.22
'Android' 카테고리의 다른 글
  • Android release Alpha vs Beta
  • [Android] ScrollView with ConstraintLayout
  • [Android] SharedPreference
  • [Android] instance
M_Falcon
M_Falcon
  • M_Falcon
    Falcon
    M_Falcon
  • 전체
    오늘
    어제
    • 분류 전체보기 (432)
      • Web (16)
        • Nodejs (14)
        • Javascript (23)
        • FrontEnd (4)
      • DataBase (39)
        • Fundamental (1)
        • Redis (4)
        • PostgreSQL (10)
        • NoSQL (4)
        • MySQL (9)
        • MSSQL (3)
        • Error (4)
      • Algorithm (79)
        • Algorithm (문제풀이) (56)
        • Algorithm (이론) (23)
      • JVM (65)
        • Spring (13)
        • JPA (5)
        • Kotlin (13)
        • Java (24)
        • Error (7)
      • 기타 (5)
        • Kafka (3)
        • Kubernetes (3)
        • Docker (13)
        • git (19)
        • 잡동사니 (27)
      • 재테크 (11)
        • 세무 (4)
        • 투자 (3)
        • 보험 (0)
      • BlockChain (2)
        • BitCoin (0)
      • C (32)
        • C (10)
        • C++ (17)
        • Error (3)
      • Low Level (8)
        • OS (3)
        • 시스템 보안 (5)
      • 네트워크 (3)
      • LINUX (30)
        • Linux (26)
        • Error (4)
      • 저작권과 스마트폰의 이해 (0)
      • 생각 뭉치 (6)
      • 궁금증 (2)
      • Private (4)
        • 이직 경험 (0)
        • 꿈을 찾아서 (1)
      • Android (21)
        • OS (4)
  • 블로그 메뉴

    • 홈
    • WEB
    • 알고리즘
    • DataBase
    • Linux
    • Mobile
    • C
    • 방명록
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    Git
    알고리즘
    Bitcoin
    Spring
    kafka
    JPA
    linux
    javascript
    C++
    Programmers
    프로그래머스
    백준
    ubuntu
    PostgreSQL
    algorithm
    java
    database
    android
    docker
    Kotlin
  • hELLO· Designed By정상우.v4.10.3
M_Falcon
[Android] Activity to Activity Data Pass (feat. Intent)
상단으로

티스토리툴바