개발/안드로이드 어플

안드로이드 어플 화면 전환 시 파라메터 보내는 방법 Intent, putExtra

외노자개발 2022. 12. 7. 14:03
반응형

 

화면 전환


Android에서 화면 전환을 하려면 Intent를 사용한다. MainActivity와 NextActivity의 두 가지 Activity가 있다면 버튼 클릭으로 MainActivity에서 NextActivity로 전환하려면 다음과 같은 코드를 작성하면 된다. 화면 전이의 부분은 Intent의 생성과 그것을 사용해 startActivity 메서드를 호출하는 곳뿐이다.

 

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
     
    button1 = (Button)findViewById(R.id.button1);
     
    button1.setOnClickListener(new View.OnClickListener() {
         
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            // 下の2行だけで画面遷移
            Intent intent = new Intent(MainActivity.this, NextActivity.class);
            startActivity(intent);
        }
    });
}

 

또한, 화면 전환 시에 Intent를 통해 정보를 전달할 수 있다. 정보를 전달하는 Activity는 Intent에 putExtra 메서드로 정보를 설정할 수 있다. 이하에서는 param1이라는 이름으로 String의 값을 세트 하고 있다.

 

Intent intent = new Intent(MainActivity.this, NextActivity.class);
intent.putExtra("param1", "from MainActivity");
startActivity(intent);

정보를 받는 Activity는 onCreate 메소드 등으로 getIntent 메서드를 사용해 Intent를 취득해, 받는 정보의 데이터형에 맞는 메서드로 정보를 취득한다. 예를 들어, String 형이면 getStringExtra 메서드에 정보를 세트 했을 때의 이름을 사용해 정보를 받는다.

 

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity1);
     
    Intent intent = getIntent();
    Log.d(TAG, intent.getStringExtra("param1"));
}

 

 

 

반응형