작심 365
Android, Intent 사용해서 화면 전환하기 본문
Intent는 안드로이드에서 많이 사용하는 요소이므로 꼭 사용법을 알아두는 것이 좋다.
Intent를 번역하면 의도, 요청, 의사 전달 정도로 해석할수 있다.
크게 액티비티 간에 소통, 안드로이드 시스템과 앱 간에 소통, 앱 간에 소통 에 사용된다.
여기서는 앱개발에서 가장 흔히 사용되는 아주 간단한 두 액티비티간에 소통을 예로 들었다.
두 액티비티간에 화면 전환을 하기 위해 일단 두개의 xml파일과 각각에 대한 코틀린 파일을 만들고
MainActivity에서 버튼을 눌렀을때 IntentActivity로 이동하도록 했다.
이때 Intent() parameter에 대해 얘기를 하면 첫번째 parameter에는 context가 들어가고 두번째는 넘겨받을 activity의
이름이 들어가면 되는데, 여기서 context를 넘겨주는건 현재 클래스에 대한 정보를 넘겨준다는 것과 같은 의미이다.
그래서 this 로 넘겨줄수 있는 것인데, 사실 this 나 this@MainActivity 나 비슷한 뜻으로 현재 액티비티 클래스 정보를 나타내는 것이지만 개발을 하다보면 context 정보를 넘겨줄 때가 많고 가끔씩 this 로 넘겨주면 에러가 나는 경우가 있어서 그냥 항상 this@클래스명 형식으로 넘겨주는것이 좋다.
Intent 객체를 생성후 그 객체를 startActivity를 통해서 넘겨주면 끝이다.
단순히 화면 전환만 한다면 넘어온 액티비티 (IntentActivity) 에서는 별다른 일을 하지 않아도 된다.
* 추가설명
Acitivity를 사용할때 여러 기능을 사용하기 위해 AppCompatActivity를 상속받지만 계속 타고 올라가다 보면 그 끝에는 Context가 있다.
상속의 특징에 의해서 상속받은 클래스이 타입은 부모 타입이라고 볼수 있다. 결국 context를 넣는 곳에 그걸 상속받은 클래스를 나타내는 this 로 넣을수 있는 것이다. (물론 this@클래스명 도 가능)
'Android > kotlin' 카테고리의 다른 글
Android Studio 업데이트 후 SHA1 키값 얻기 (2) | 2021.06.18 |
---|