|
Listener와 Intent를 이용한 Activity간 데이터 전송하기 |
작 성 자 |
강 효 재 |
TEAM |
3조 | |
작성일자 |
2011-11-08 |
Listener와 Intent를 이용한 Activity간 데이터 전송하기 (1단계) – 첫 번째 Activity |
Button fa_ok_button = (Button) findViewById(R.id.fa_ok_button); Button fa_result_button = (Button) findViewById(R.id.fa_result_button);
final EditText editText1 = (EditText) findViewById(R.id.editText1); final EditText editText2 = (EditText) findViewById(R.id.editText2);
fa_ok_button.set[안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xxOnClickListener( new [안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xxOnClickListener() { public void [안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xxonClick(View v) { Intent intent = new Intent(Ex_ListenerActivity.this, SecondActivity.class); Bundle save = new Bundle();
String string = editText1.getText().toString(); save.putString("key", string); intent.putExtras(save);
startActivity(intent); } } );
fa_result_button.set[안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xxOnClickListener( new [안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xxOnClickListener() { public void [안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xxonClick(View v) { Intent intent = getIntent(); Bundle bundle = intent.getExtras(); editText2.setText(bundle.getString("key1")); } } ); |
Listener와 Intent를 이용한 Activity간 데이터 전송하기 (2단계) – 두 번째 Activity |
Button fa_ok_button = (Button) findViewById(R.id.fa_ok_button);
final EditText editText3 = (EditText) findViewById(R.id.editText3); final EditText editText4 = (EditText) findViewById(R.id.editText4);
fa_ok_button.set[안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xxOnClickListener( new [안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xxOnClickListener() { public void [안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xxonClick(View v) { Intent intent = new Intent(SecondActivity.this, Ex_ListenerActivity.class); Bundle save = new Bundle();
String string = editText3.getText().toString(); save.putString("key1", string); intent.putExtras(save);
startActivity(intent); } } );
Intent intent = getIntent(); Bundle bundle = intent.getExtras(); editText4.setText(bundle.getString("key"));); |
<다른 엑티비티로 String형 데이터 전달>
(Button) findViewById(R.id.fa_ok_button); |
findViewById() 메서드는 R.id 클래스의 어트리뷰트를 참조하여 아이디에 해당하는 위젯 객체를 전달받는다. findViewById() 메서드는 View클래스의 인스턴스를 반환하므로 형변환을 해주지 않으면 빌드 에러가 난다. |
fa_ok_button.set[안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xxOnClickListener(); |
버튼을 클릭 했을 때 동작 할 리스너 객체를 만들어 버튼에 넘겨줘야 한다. 설정은 Button 클래스의 set[안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xxOnClickListener() 메서드를 사용하면 된다. new [안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xxOnClickListener()를 사용하여 생성한 리스너 인스턴스를 set[안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xxOnClickListener() 메서드의 인자로 사용하여 [안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xxOnClickListener()를 생성 할 때 [안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xxonClick 메서드를 구현하여 넘겨주었다. |
Intent intent = new Intent(SecondActivity.this, Ex_ListenerActivity.class); |
엑티비트에서 다른 엑티비티를 실행 하기 위한 도구 이다. 브로드캐스팅이라는 도구도 존재한다. 인텐트는 방송에 실려 전달되는 메시지와 같고 브로드캐스팅은 모든 객체에게 뿌리는 방송과 같다. |
String string = editText3.getText().toString(); |
에디트텍스트에 입력된 값을 얻어오는 것이다. |
save.putString("key1", string); |
에디트텍스트에 입력된 값을 키값을 통해 번들에 넘긴다. |
intent.putExtras(save); |
인텐트에 번들혹은 값들을 넣는 함수로, 번들의 경우 이미 번들이 존재하면 새 번들로 바꾸며, 번들이 존재하지 않으면 새 번들을 생성한다. 저는 Bundle save = new Bundle(); 번들을 하나 생성하여 번들을 넣어주었습니다. Bundle은 상태/값 등을 저장하기 위한 객체 |
<다른 엑티비티에서 전달한 String형 데이터 받기>
Intent intent = getIntent(); Bundle bundle = intent.getExtras(); editText4.setText(bundle.getString("key"));); |
getIntent() 메서드는 보내준 객체를 받는다. getExtras() 메서드는 저장된 데이터를 불러온다. |
수정을 하여도 계속 태그제한으로 등록되지 않았다는 메세지가 작성되어 문서를 첨부합니다.