1. 개요
엑티비티간 데이터 통신을 위한 Intent라는 도구를 이용한다.
A엑티비티에서 Intent에 데이터를 저장 한 후
B엑티비티에서 Intent에 저장되어있는 데이터를 불러와 처리를한다.
2. 사용
MainActivity.Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.mainButton).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SubActivity.class);
intent.putExtra("key", "value");
startActivity(intent);
}
});
}
}
|
cs |
mainButton이라는 버튼 리스너에 Intent를 생성해 putExtra("key", "value")를 이용해 데이터를 저장한다.
그리고 startActivity로 새로운 엑티비티를 활성화 한다.
SubActivity.Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public class SubActivity extends AppCompatActivity {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub);
Log.d("SubActivity", "onCreate: "+getIntent().getStringExtra("key"));
findViewById(R.id.subButton).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
}
|
cs |
활성화된 엑티비티에서 데이터를 불러오기위해 getIntent()를 사용한다.
그리고 get자료형Extra("key", "value") 로 자료를 불러오게 되는데 여기서 putExtra를 했던 자료형과 일치하지 않으면 에러를 발생하게 된다.
'안드로이드 스튜디오[Android studio]' 카테고리의 다른 글
navigation drawer의 icon색이 바뀌지 않는 문제 해결 (0) | 2021.07.30 |
---|---|
토글 버튼(Toggle Button) 만들기 (0) | 2021.07.09 |
(안드로이드 스튜디오) 연속 클릭 구현 (0) | 2021.07.06 |
startActivityForResult의 deprecated에 따른 새 API사용법(ActivityResultLauncher) (0) | 2021.06.24 |
액티비티 전환 시 아무것도 나오지 않을 때 (0) | 2021.06.21 |