[안드로이드] Bundle을 사용해보자

Words
151
Reading
1 min
Listen
Play
9y

안녕하세요!! wonnieyoon@wonnieyoon입니다.
안드로이드 개발을 어느정도 해보신분들은 Bundle에 대해 잘 아실꺼라 생각합니다.
하지만 저는 학부생일때 Bundle을 전혀 사용해보지 않았거든요.
안드로이드 프로젝트를 만들기만 해도 보이는 Bundle 조금만 관심 가졌더라도 알았을텐데..
개발을 하다보니 Bundle은 정말 많이 이용되고 유용하게 사용되더라구요.


Bundle은 무엇?

Bundle은 생각보다 정말 간단합니다.
키값과 여러가지 타입의 값을 저장하는 클래스입니다.
이름만 생소할뿐 쉽게 말해 HashMap입니다.


간단한 예제

<MainActivity.java>

public class MainActivity extends AppCompatActivity {

TextView text;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    text = (TextView)findViewById(R.id.text);

    if(savedInstanceState != null)
    {
        text.setText(savedInstanceState.get("KEY").toString());
    }
}

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putString("KEY","바뀐 후");
}

}


결과


(회전하기 전)


(회전한 후)

--> onSaveInstanceState 메소드는 제가 이전에 포스팅했던 LifeCycle에서 onPause뒤에 호출되는데 Activity가 사용자가 임의적으로 종료시키는 경우가 아닌 예상치 못한경우에만 호출됩니다.
휴대폰 회전을 자동으로 하고 돌리게 되면 안드로이드 앱은 다시 실행이 되는데 이때onCreate부터 다시 시작되고 Bundle의 값을 잘 이용하면 앱을 유연하게 잘 만들수 있습니다.
!!!!!여러분들이 사용하시는 앱들은 그냥 단순히 만들어지는것이 아닙니다.ㅜㅜ개발자들의 엄청난 노력이 있습니다.

[안드로이드] Bundle을 사용해보자 | Ecency