이번시간에는 액티비티간에 데이터 전송을 해보려고한다.
먼저 MainActivity 와 SubActivity의 xml을 만들자
xml을 다음과 같이 생성해주자.
(main_activity.xml)
(sub_activity.xml)
이제 액티비티간에 데이터 전송을 해야하는데 전송하기 전에 다음 개념부터 집고 넘어가자.
액티비티 간에 데이터 전송은 putExtra로 데이터를 intent에 넣어준다.
이 putExtra는 key, value형식이다.
key value 형식이란 쉽게 말해서 열쇠 자물쇠 형식이라고 생각하면 쉬울거같다.
자물쇠를 열려면 맞는 열쇠로 돌려야 자물쇠가 열리는것처럼 보낸 부분과 받는부분 둘다 맞는 Key를 입력해야 받는부분에서 정확히 받을 수 있다.
사진출처: https://masterkeykorea.wordpress.com/2010/06/11/masterkey-or-lockpick/
그럼 이제 MainActivity에서 데이터를 넣어보자.
public class MainActivity extends AppCompatActivity {
Button main_btn;
TextView main_txt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
main_btn = findViewById(R.id.main_btn);
main_txt = findViewById(R.id.main_txt);
Button.OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.main_btn:
Intent intent = new Intent(MainActivity.this, SubActivity.class);
intent.putExtra("text",main_txt.getText().toString());
startActivity(intent);
break;
}
}
};
main_btn.setOnClickListener(onClickListener);
}
}
다음으로는 SubActivity에서 데이터를 받아보자
public class SubActivity extends AppCompatActivity {
TextView sub_txt;
String get_text;
Intent get_intent;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub);
sub_txt=findViewById(R.id.sub_txt);
get_intent = getIntent();
get_text=get_intent.getStringExtra("text");
sub_txt.setText(get_text);
}
}
이제 실행하고 Edittext에 전송할 text를 작성하고 Button을 눌러보자
'안드로이드' 카테고리의 다른 글
안드로이드 퍼미션 받아야하는 것들 (0) | 2019.03.14 |
---|---|
@NonNull? @Nullable 이란? (0) | 2019.01.11 |
switch case문을 이용한 버튼 이벤트 (0) | 2018.07.04 |
Android Intent를 사용해서 액티비티 전환하기 (3) | 2018.07.03 |
onUserLeavehint() 액티비티 이동간에 호출하지 않기 (1) | 2018.05.08 |