인텐트(Intent)

Ji·2021년 8월 17일
0

인텐트?

  • 안드로이드는 액티비티 단위로 개발되고 실행. 액티비티들은 서로 다른 스레드, 메모리공간, 생명주기를 가지고 있음.
  • 인텐트는 액티비티를 이어주는 역할을 함.
  • 다른 앱 구성 요소로부터 작업을 요청 (메시지 객체)
Intent intent = new Intent(this, DetailActivity.class); 
// this로 이 activity를, 뒤의 클래스는 activity 클래스를 상속받은 activity를 실행시키라는 뜻. 
//(this는 출발 액티비티, DetailActivity.class는 도착할 액티비티)
startActivity(intent);
//시스템의 startActivity에 intent를 넣어서 실행하면, 해당 activity가 실행된다.
// 화면전환을 할 액티비티

데이터 전달 (putExtra, getExtra)

// 내가 활용한 인텐트 코드 (데이터 보냄)
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
                            intent.putExtra("googleName", account.getDisplayName());// 구글 계정 닉네임 가져오기
                            intent.putExtra("googleEmail", account.getEmail());// 구글 계정 닉네임 가져오기
                            startActivity(intent); 
 val secondIntent = Intent(this, SecondActivity::class.java) 
 // 인텐트를 생성
        secondIntent.putExtra("email", "hello@naver.com")  
// Intent에 이메일 주소 넣기
        secondIntent.putExtra("password", 1234)             
// Intent에 비밀번호 넣기
  • 첫 번째 인자 값에는 Key를, 두 번째 인자 값에는 전달할 데이터를 넣어줌.
String nickName = intent.getStringExtra("googleName"); 
// LoginActivity로 부터 구글닉네임 전달받음
String email =intent.getStringExtra("googleEmail"); 
// LoginActivity로 부터 구글이메일 전달받음
  • getExtra에서 key 값을 넣어 데이터를 전달 받음.
                         
                       
profile
공부방

0개의 댓글

관련 채용 정보