[안드로이드]/[안드로이드] 공부 기록

[안드로이드] 부가데이터(putExtra), 플래그(Flag)

노트포미 2023. 10. 12. 03:49

부가데이터(putExtra)

: 인텐트에 데이터를 같이 전달 할 수 있는 데이터

- 데이터는 인텐트 안 번들(Bundle)객체에 들어있음

- 데이터를 넣을 때는 putExtra()
   데이터를 가져올 때는 get___Extra()

    ex) getStringExtra(), getIntExtra(), getBooleanExtra()


플래그(Flag)

: 인텐트에 추가할 수 있는 옵션

[주요 플래그]

- FLAG_ACTIVITY_NEW_TASK

   : 액티비티를 관리하는 태스크(TASK) 객체를 새로 만들도록 함

- FLAG_ACTIVITY_SINGLE_TOP

   : 동일한 액티비티가 이미 메모리에 만들어져 있다면, 그 액티비티를 재사용 함
- FLAG_ACTIVITY_CLEAR_TOP

   : 원하는 액티비티가 이미 메모리에 만들어져 있고 그 후에 다른 액티비티가 만들어진 경우 원하는 액티비티를 찾아

      다시 띄울 때 그 이후에 만들어진 다른 액티비티를 없앰

 

[사용 메소드]

- addFlags()

- setFlags()

 

[주의할 점]

액티비티를 재사용 할 경우, onCreate()가 호출되지 않아, getIntent()가 호출되지 않음

-> onNewIntent()를 호출해서 인텐트를 전달 받아야 함


[액티비티간 데이터 전달 과정]

1. 액티비티A에서 인텐트 객체를 만들고 putExtra()에 부가데이터를 넣어줌

2. startActivityForResult()를 호출

3. 액티비티B가 실행되고, setResult()를 호출하면서 인텐트 전달

4. finish() 호출되고 액티비티A로 돌아감

5. onActivityResult()가 호출되며 전달받음


[출처]

3-2강

www.boostcourse.org/mo316

 

안드로이드 앱 프로그래밍

부스트코스 무료 강의

www.boostcourse.org