1. 애플리케이션 구성요소
(1) 액티비티 : 화면
(2) 서비스
(3) 브로드캐스트 수신자
(4) 내용 제공자
2. 액티비티 새로 만들기
- 목표 : activity_main.xml에서 버튼을 누르면 activity_menu.xml로 이동
(1) app > 오른쪽 버튼 클릭 > New > Activity
(2) app > manifest > AndroidManifest.xml에 MenuActivity가 추가 되어 있음
(3) activity_main.xml에 버튼 추가
(4) MainActivity.java에 버튼 추가 > onClick 리스너 추가
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 인텐트 객체 만들기
Intent intent = new Intent(getApplicationContext(), MenuActivity.class);
// 시스템에 인텐트 전달 (코드 : 어떤 화면에서 넘어온 건지 코드 보고 확인 가능)
startActivityForResult(intent, 101);
}
});
}
}
(5) MenuActivity.java에 버튼 추가 > onClick 리스너 추가
public class MenuActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
Button button2 = (Button) findViewById(R.id.button2);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.putExtra("name", "mike");
// 결과 값 MainActivity로 전달하기
setResult(Activity.RESULT_OK, intent);
// 메뉴화면 없앤다 (메인화면이 나온다)
finish();
}
});
}
}
(6) MainActivity.java에 onActivityResult 추가
// generate > override methods > onActivityResult : MenuActivity.java에서 보낸 intent를 전달 받는 메소드
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 101) {
String name = data.getStringExtra("name");
Toast.makeText(getApplicationContext(), "메뉴화면으로부터 응답 : " + name, Toast.LENGTH_LONG).show();
}
}
3. 액티비티 구성 과정 정리
'Android' 카테고리의 다른 글
[Android] 안드로이드 : 부가데이터 (0) | 2019.12.09 |
---|---|
[Android] 안드로이드 : 인텐트(Intent) (0) | 2019.12.05 |
[Android] 안드로이드 : 그리드뷰 사용하기 (0) | 2019.12.04 |
[Android] 안드로이드 : 스피너 사용하기 (0) | 2019.12.04 |
[Android] 안드로이드 : 리스트뷰(ListView) 만들기 (2) | 2019.12.03 |
댓글