안드로이드 액티비티 데이터 전달 방법
1. 액티비티 간의 단방향 데이터 전달방법
안드로이드 개발에서는 종종 하나의 액티비티에서 다른 액티비티로 데이터를 전달해야 하는 경우가 있다. 이 섹션에서는 두 개의 액티비티 간에 단방향으로 데이터를 전달하는 방법을 설명한다. 예제에서는 MainActivity
에서 SecondActivity
로 사용자가 입력한 이름과 나이를 전달하는 방법을 다룬다.
MainActivity.java
package com.kks.lifecycle;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
Button button;
EditText editName;
EditText editAge;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.button);
editName = findViewById(R.id.editName);
editAge = findViewById(R.id.editAge);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = editName.getText().toString().trim();
String strAge = editAge.getText().toString().trim();
int age = Integer.parseInt(strAge);
// Intent를 생성하여 데이터를 SecondActivity로 전달한다
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("name", name);
intent.putExtra("age", age);
startActivity(intent);
}
});
}
}
주요 코드 설명:
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
-Intent
객체를 생성하여MainActivity
에서SecondActivity
로 이동한다는 의도를 표현한다.intent.putExtra("name", name);
-Intent
에 데이터를 추가한다. 여기서는 이름과 나이를 추가한다.startActivity(intent);
-SecondActivity
를 시작한다.
SecondActivity.java
package com.kks.lifecycle;
import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class SecondActivity extends AppCompatActivity {
TextView txtName;
TextView txtAge;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
txtName = findViewById(R.id.txtName);
txtAge = findViewById(R.id.txtAge);
// MainActivity로부터 전달받은 데이터를 받는다
String name = getIntent().getStringExtra("name");
int age = getIntent().getIntExtra("age", 0);
txtName.setText("이름은 " + name);
txtAge.setText("나이는 " + age + "세");
}
}
주요 코드 설명:
String name = getIntent().getStringExtra("name");
-Intent
로부터 전달된 데이터를 받는다.int age = getIntent().getIntExtra("age", 0);
- 나이를 받는다.txtName.setText("이름은 " + name);
- 받은 데이터를 화면에 표시한다.
실행결과
'안드로이드 스튜디오' 카테고리의 다른 글
[안드로이드 스튜디오]액티비티 간의 백버튼 누를 때 데이터 전달 방법 (0) | 2024.06.07 |
---|---|
[안드로이드 스튜디오] 액티비티 간의 양방향 데이터 전달방법 (0) | 2024.06.07 |
[안드로이드 스튜디오]퀴즈앱 로직개발(AlertDialog 활용) (0) | 2024.06.06 |
[안드로이드 스튜디오]퀴즈앱 화면개발(progrss Bar 활용) (0) | 2024.06.06 |
[안드로이스 스튜디오]Linear Layout으로 화면 개발하기 (0) | 2024.06.06 |