안드로이드/Android Intent로 데이터 주고 받기
호출한 액티비티
호출당한 액티비티
출력결과
호출한 액티비티
package arabiannight.tistory.com;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
public class TestIntentActivity extends Activity {
private ArrayList mArrayList = new ArrayList();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mArrayList.add("하이");
mArrayList.add("방가");
mArrayList.add("놀러");
mArrayList.add("가자");
Intent intent = new Intent(TestIntentActivity.this,TestIntentNextActivity.class);
intent.putExtra("1", "하이하이");
intent.putExtra("2", 3);
intent.putExtra("3", true);
intent.putExtra("어레이", mArrayList);
startActivityForResult(intent,1);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode==RESULT_OK) // 액티비티가 정상적으로 종료되었을 경우
{
if(requestCode==1) // requestCode==1 로 호출한 경우에만 처리합니다.
{
Log.d("test", ""+data.getStringExtra("re"));
}
}
}
}
호출당한 액티비티
package arabiannight.tistory.com;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
public class TestIntentNextActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.next);
Log.d("onnew", "onCreate");
// 현재 활성화된 액티비티를 시작하게 한 인텐트 호출
Intent intent = getIntent();
if(intent!=null){
ArrayList temp = intent.getStringArrayListExtra("어레이");
Log.d("test", "temp"+temp);
String temp2 = intent.getStringExtra("1");
Log.d("test", "temp2"+temp2);
int temp3 = intent.getIntExtra("2", 0);
Log.d("test", "temp3"+temp3);
boolean temp4 = intent.getBooleanExtra("3", false);
Log.d("test", "temp4"+temp4);
}
intent.putExtra("re", "return");
setResult(RESULT_OK,intent);
finish();
}
}
출력결과
02-03 00:38:52.065: D/test(15658): temp[하이, 방가, 놀러, 가자] 02-03 00:38:52.065: D/test(15658): temp2하이하이 02-03 00:38:52.065: D/test(15658): temp33 02-03 00:38:52.065: D/test(15658): temp4true 02-03 00:38:52.080: D/test(15658): return
'Android > Intent' 카테고리의 다른 글
| 안드로이드/Android 단말마다 SMS, MMS, CALL 사용 여부 확인 하기~! (5) | 2012.05.28 |
|---|---|
| 안드로이드/Android intent(인텐트)를 사용해 보자. (intent filter) (17) | 2012.05.20 |
| 안드로이드/Android 안드로이드 Intent 그리고 PendingIntent 와 Intent Sender (4) | 2012.03.12 |
| 안드로이드/Android Intent로 Video 재생 프로그램 선택 하기 (3) | 2012.02.23 |
| 안드로이드/Android Intent 활용 예시 (0) | 2012.02.03 |