카테고리 없음

Android Intent putExtra로 데이터 전달하기

abc0123 2018. 1. 21. 12:05
반응형

 

안드로이드 앱에서 Acitivity 간에 화면전환은 Intent를 이용하는데요. 이때 화면만 전환하는 것이 아니고 새로 열리게 될 액티비티에 데이터를 함께 전달할 수도 있는데 그 역할을 하는 putExtra()를 사용하는 예제를 통해서 이 내용을 정리해보겠습니다.

 

이번 예제는 지난 글에서 만들어봤던 대화상자 액티비티 관련 내용(대화상자)을 이용하겠습니다. Main에서 Dialog로 Intent의 putExtra()를 이용해서 String 문자열을 보내고 대화상자에서 그 문자열을 받아서 출력하는 내용으로 정리할 겁니다.

 

일단 매인 화면에 EditText를 하나 배치해서 그곳에 우리가 입력한 내용이 그대로 대화상자로 전달되어 출력하도록 해보겠습니다.

 

매인 화면

▲ 매인 화면인데요. 입력 상자와 버튼을 하나 배치했습니다. 여기에 내용을 입력하고 버튼을 누르면....

 

 

대화상자 화면

▲ 이 DialogActivity로 내용이 전달돼서 그림에서 표시한 부분에 출력하도록 하는 내용입니다. 이제 Main에서 EditText와 Button 객체를 찾아서 클릭 이벤트를 정의하겠습니다.

 

매인 설정

▲ 별 내용은 없네요. 일단 문자열을 입력받을 입력 상자와 전송할 버튼을 각각 찾은 후에 버튼을 클릭했을 때 intent.putExtra() 메서드의 파라미터로 Key 값인 "data"와 EditText에서 입력한 내용을 담고 있는 String 변수 data를 전달하고 있고요.

 

데이터 받기

▲ 데이터를 받는 액티비티에서는 전달받은 문자열을 저장할 getString 변수를 선언하고& 그 내용을 출력한 TextView를 찾은 후에 getIntent()를 통해서 넘어온 인텐트를 찾아서 getStringExtra() 메서드로 넘어온 "data"키 값에 담겨 있는 내용을 빼오고 있습니다. 그리고 그렇게 넘겨받은 String 데이터를 텍스트 뷰에 setText()로 출력하도록 하고 있는 내용입니다.

 

이제 앱을 실행해서 EditText에 직접 문자열을 입력한 후 전송을 해서 Dialog에 제대로 출력되는지 확인해보겠습니다.

 

 

이처럼 입력 상자에 어떤 내용을 입력하건 그대로 내용이 전달이 돼서 Dialog의 textView에 출력되는 걸 확인할 수 있습니다.

 

이렇게 해서 android intent에 데이터를 실어서 보낼 수 있는 putExtra 예제를 만들어봤는데요. 많은 부분에서 사용될 내용일듯하니 잘 정리해놔야겠네요.^^ 수고하셨습니다.

반응형