개발/안드로이드
Android - Intent
웅'jk
2023. 1. 31. 00:16
Intent는 activity간의 이동에 사용하는 클래스입니다.
단방향 JAVA code
MainActivity
Intent intent = new Intent("현재클래스","이동할클래스");
#ex) 현재클래스 : MainActivity.this
# 이동할클래스 : SecondActivity.class
intent.putExtra("key","data");
# putExtra 키값과 data로 이동할 액티비티로 보낼 수 있다.
startActivity(intent)
SecondActivity
String data = getIntent().getStringExtra("key");
# Intent intent = getIntent();
# String data = intent.getStringExtra("key");
양방향 JAVA code
# mainActivity
ActivityResultLauncher<Intent> launcher =
registerForActivityResult( new ActivityResultContracts.StartActivityForResult(),
new ActivityResultCallback<ActivityResult>(){
@Override
public void onActivityResult(ActivityResult result){
if(result.getResultCode() == 0){
# secondactivity 로부터 다시 받아온 인텐트 처리
}
}
}
Intnet intent = new Intent(MainActivity.this,SecondActivity.class);
intent.putExtra("key","data");
launcher.launch(intnet);
# SecondActivity
# 암시적 intent -> 이미 메인엑티비티에서 출발했기때문에 세컨드가 종료된다면 메인으로 가개된다.
Intent intent = new Intent();
setResult(0,intent);