개발학습일지

[Android Studio] 액티비티 간의 양방향 데이터 전달 방법 본문

카테고리 없음

[Android Studio] 액티비티 간의 양방향 데이터 전달 방법

처카푸 2024. 6. 7. 12:50

액티비티 간의 양방향 데이터 전달 방법

- 메인 액티비티에서 데이터를 가지고 세컨드 액티비티로 전달하여 실행

 

1. 첫 번째 액티비티에 다른 액티비티를 실행시키는 코드를 작성한다.

- Intent 클래스 사용

    // 처음 화면 액티비티.java
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.i("LIFE MAIN", "onCreate 실행");

        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 intent = new Intent(MainActivity.this, SecondActivity.class);
                // 엑티비티에 데이터를 전달하는 방법
                intent.putExtra("name",name);
                intent.putExtra("age",age);
                startActivity(intent);
            }
        });

    }

 

2. 다음 액티비티 화면에서 받은 데이터를 보여주기 위해 데이터를 받아서 변수로 저장한다.

- getIntent() 사용

- 문자열이 아닌 숫자 데이터타입이면, 디폴트 값을 설정해줘야 한다.

    // 두번째 화면 액티비티.java
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        Log.i("LIFE MAIN", "두번째 엑티비티 onCreate 실행");

        // 데이터 받아주기
        String name = getIntent().getStringExtra("name");
        // getIntExtra(보낸이름, 디폴트 숫자)
        age = getIntent().getIntExtra("age", 0);

        age = age+10;

        txtName = findViewById(R.id.txtName);
        txtAge = findViewById(R.id.txtAge);

        txtName.setText("이름은 "+name);
        txtAge.setText("10년 후 나이는 "+age+"세 ");
     }

 

 

 


* 포스팅. 액티비티 간의 단방향 데이터 전달 방법

https://msdev-st.tistory.com/177

 

[Android Studio] 액티비티 간의 단방향 데이터 전달 방법

액티비티 간의 단방향 데이터 전달 방법- 메인 액티비티에서 세컨드 액티비티 실행 액티비티끼리 연결하기 위해서는, LifeCycle의 동작 방식을 알고 있어야 잘 작동되는 코드를 짤 수 있다. 첫 번

msdev-st.tistory.com

 

* 포스팅. 액티비티 백버튼 누를 때 데이터 전달 방법

https://msdev-st.tistory.com/179

 

[Android Studio] 액티비티 백버튼 누를 때 데이터 전달 방법

액티비티 백버튼 누를 때 데이터 전달 방법- 세컨드 액티비티에서 데이터를 가지고 메인 액티비티로 전달하여 실행 1. 두 번째 화면 액티비티에 백버튼 눌렀을 때, 동작하는 코드를 작성한다.- o

msdev-st.tistory.com

 

* LifeCycle

https://developer.android.com/guide/components/activities/activity-lifecycle?hl=ko

 

활동 수명 주기  |  Android Developers

활동은 사용자가 전화 걸기, 사진 찍기, 이메일 보내기 또는 지도 보기와 같은 작업을 하기 위해 상호작용할 수 있는 화면을 제공하는 애플리케이션 구성요소입니다. 각 활동에는 사용자 인터페

developer.android.com