차근차근/Android

인텐트

예쁜꽃이피었으면 2014. 8. 28. 17:52

인텐트1

http://promobile.tistory.com/198

인텐트2

http://promobile.tistory.com/199

인텐트3

http://promobile.tistory.com/200



http://4eda.tistory.com/25

[안드로이드] Intent의 활용 (데이터 전송)

안녕하세요. Yo구르트입니다.

오늘은 앞선 강의인 액티비티간 전환에서도 잠깐 나왔던 Intent에 관해서 알아보겠습니다.

 

Intent

안드로이드에서 Activity간의 통신수단
: putExtra() : Intent data를 저장할 때 사용
: getExtra() : Intent에서 data를 가져올 때 사용

 

 두 액티비티간 데이터 전송을 해보겠습니다.

1. 기본화면(Spinner와 Textedit는 앞선 강의 참조)


2. Send (HelloActivity)


public void onClick(View v){
          Intent intent = new Intent(HelloActivity.this, ResultActivity.class);
          intent.putExtra("Spinner1", spinner1.getSelectedItem().toString());
          intent.putExtra("Spinner2", spinner2.getSelectedItem().toString());
          intent.putExtra("Edittext1", edittext1.getText().toString());
          startActivity(intent);
 }       


OK
버튼을 클릭하면 putExtra를 통해 각 데이터를 저장합니다.

 

 

3. Receive (ResultActivity)

1)결과를 출력시킬 TextView를 생성합니다.


2)GetExtras를 통해 저장된 데이터를 가져옵니다.


public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.result);
        Intent intent = getIntent();
        String str1;
        String str2;
        String str3;
        str1 = intent.getExtras().getString("Spinner1");
        str2 = intent.getExtras().getString("Spinner2");
        str3 = intent.getExtras().getString("Edittext1");
        TextView TxtResult1 = (TextView)findViewById(R.id.TxtResult1);
        TxtResult1.setText(str1+" "+str2+" "+str3);
}

TextView를 통해 정확한 값이 전달되었는지 확인합니다.

4. 결과화면


값이 전달된 것을 볼 수 있습니다.


반응형