Android
Android Studio - 액티비티 간의 단방향 데이터 전달방법
Cong_S
2022. 7. 13. 15:48
Intent로 액티비티간 화면 전환하는 포스팅을 한 적이 있다.
https://cong-s.tistory.com/237
Android Studio - 새로운 Activity 추가하기 / 액티비티간에 연결하기
새로운 액티비티를 만들어보자. 위 캡쳐대로 만들수 있다. Main의 onCreate 안에 아래와 같이 Intenr와 startActivity 코드를 작성해 액티비티를 연결할 수 있다. Intent intent = new Intent(MainActivity.this,..
cong-s.tistory.com
이번에는 액티비티 간의 데이터 전달 방법을 알아볼 것이다. 그 중 단방향 데이터 전달을 알아보자.
String email = editEmail.getText().toString().trim();
String name = editName.getText().toString().trim();
String ageStr = editAge.getText().toString().trim();
int age = Integer.valueOf(ageStr).intValue();
double hiddenData = 3.1414;
// 새로운 액티비티를 띄우고,
// 데이터를 전달한다.
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("email", email);
intent.putExtra("name", name);
intent.putExtra("age", age);
intent.putExtra("hidden", hiddenData);
// 데이터만 전달하는 경우
startActivity(intent);
여러 UI 개체들을 통해 입력된 데이터들을 여러 변수에 저장한 후 다른 액티비티로 데이터를 옮기려 한다.
다시 올 필요가 없으므로 단방향으로만 전달되면 된다.
이 때는 intent를 만든 후 putExtra 메소드를 사용한다.
- 첫번째 파라미터 : 키 값 지정
- 두번째 파라미터 : 데이터 또는 데이터가 들어있는 변수
그 후 앞서 배운 것처럼 startActivity메소드에 intent 를 넣어주면 된다.
// 넘어오는 데이터가 있으면 처리해 준다.
String email = getIntent().getStringExtra("email");
String name = getIntent().getStringExtra("name");
int age = getIntent().getIntExtra("age", 0);
double hiddenData = getIntent().getDoubleExtra("hidden", 0);
데이터를 받을 때는 getIntent메소드와 각 데이터 Extre 메소드를 사용한다.