6_Android_(단말 방향 전환)
app/src/main/res/layout-land
layout과 같은 역할을 하지만 가로 방향으로 보일때 사용되는 xml레이아웃파일을 모아두는 곳
* 방향이 바뀔때 액티비티를 메모리에 없앴다가 다시 만듬
onCreate() : 화면이 보이기전에 메모리에 만들어지는 시점
onStart() : 화면에 보이기전에 실행
onStop() : 화면에 보이다가 없어지면 실행
onDestory() : 메모리에 없어지는 시점
// Bundel : 여러가지 타입값을 저장하는 Map 클래스
// 안드로이드에서는 Acitivity간에 데이터를 주고 받을때 Bundel 클래스를 사용하여 데이터를 전송한다
단말방향전환시 변수값 유지 방법
onSaveInstanceState() : 단말방향전환시 변수의 값을 저장해놓을수 있는 메소드
(단말방향전환시 기존엑티비티를 삭제하고 새로운 엑티비티를 생성함)
1. onSaveInstacneState(Bundel outState) 메소드 오버라이드해서 변수값을 저장함
outState.putString("name", name);
2. if(saveInstanceState != null) {
// 화면전환시 onCreate메소드 실행
// onCreate()는 매개변수로 saveInstanceState를 사용함
// 변수(name)을 담고 있으므로 널이아님
name = saveInstanceState.getString("name");
}
화면방향전환시 액티비티 삭제/생성 안하고 유지
1. AndroidManifest.xml 안에 activity 설정
android:configChanges = "orientation|screenSize|keyboardHidden"
configChanges를 설정해놓으면 단말의 방향이 바뀌는 시점에 configurationChanged() 메소드가 자동으로 호출
2. MainActivity에 onConfigurationChanged()메소드 오버라이드