데이터 통신 방법
Intent를 이용하는 방법
송신
A엑티비티의 intent객체 안에 putExtra로 데이터 넣고 이 intent객체로 B엑티비티를 시작함
Intent intent = new Intent(getApplicationContext(),B.class);
intent.putExtra("Data_to_B",Data_to_B);
startActivity(intent);
수신
B 엑티비티에서 getIntent로 A에서 보내온 intent객체를 받고 거기서 get자료형Extra로 intent객체 안에있는
데이터 받아오면 됌
Intent intent = getIntent();
Data_from_A = intent.getIntExtra("Data_to_B",0);
startActivityForResult와 onActivityResult를 이용하는 방법
송신요청
A 엑티비티에서 startActivityForResult(intent객체, requestCode);로
B 엑티비티를 시작해줌
startActivityForResult(intent,1001);
송신
B 엑티비티에서 해야할 작업 (Ex.. 데이터 처리...)가 끝이나고
intent객체 안에 데이터를 넣어준 후 setResult(resultCode, intent객체);로
A엑티비티에 전달할 데이터를 담은 intent객체를 넣어줌
Intent intent = new Intent();
intent.putExtra("Data_to_A",Data_to_A);
setResult(7777,intent);
finish();
수신
B엑티비티가 닫치고 다시 시작된 A엑티비티는
무조건 onResume()호출 이전에 onActivityResult()를 호출함
이onActivityResult()내부에서 데이터를 처리하면 됌
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1001){
if(resultCode == 7777){
Data_from_B= data.getIntExtra("Data_to_A",0);
saveData_from_B(); //이건 데이터 세이버임 그냥 보통 여기서 데이터를 저장하는게 편해서 내가 쓴거임 없어도 되긴함
}
}
}
이거 두게만 제대로 써도 웬만한건 다 만들 수 있음 ㅇㄱㄹㅇ ㅂㅂㅂㄱ ㅇㄱㄱㅆㅅㅌㅊ ㅇㅈ? ㅇㅇㅈ
'Android' 카테고리의 다른 글
버튼 모서리 둥글게 만들기 (0) | 2020.12.14 |
---|---|
Android의 LifeCycle(수명주기) (0) | 2020.12.14 |
엑티비티 내에서 간단한 데이터의 연산 방법 (0) | 2020.12.14 |
데이터 로더 and 세이버 만드는법 (0) | 2020.12.14 |
안드로이드 개발 기본소스 (0) | 2020.12.13 |
댓글