View 이 상태저장
super가 가지는 상위 parent 정보를 얻어서 해당 하는 차일드의 pacelable객체로 저장한다.
super보고 복원하고 자기자신은 내 정보만 가지고 복원한다.
나는 super가 알아서 저장하는 parcelable객체를 가져와서 저장하면 되는거고, 그걸 던지면 알아서 복원해 하면된다.
그럼 결국 parcelable를 관리만 해주면 된다는 얘기다.
onSaveInstanceState 객체가 생성된다.
이건 parceable을 리턴하면된다.
onRestore... 이런함수가 pareceable을 가지고 정보를 복원한다.
super의 parcelable을 관리해야하는데 이 클래스가 BaseSavedState라는 클래스다.
super에서 받은 parcelable을 관리해주는 클래스다.
비트맵은 parcelable을 저장하면 안된다. parcelable은 1MB의 크기 제한이 있다.
일반적으로 Text라든지 , Int이런거를 저장한다.
얘 안에 상태를 저장하기 위해서 onSaveInstanceState() 함수를 호출하고,
onRestoreInstanceState()도 호출한다.
class SavedState extexds BaseSavedState 의 내부 클래스를 만들어준다.
여기에 writeToParcel()을 만들어야 한다.
public static parcelable.Creator<SavedState> CREATOR = new Parcelable.Creator<savedInstance>
public SavedState(Parcel parcel){
} 이것도 만들어 준다.
SavedState[] newArray () 이것도 만든다.
얘가 비트맵을 하나 가지고 있어야 되니까 Bitmap bitmap;
이건 보고 치면되고 어떤 컨셉으로 순서가 이루어지는지 공부하면된다.
InputEvent
주의사항!!!: 한가지 Touch이벤트는 터치 다운이 됬을때, true를 리턴하지 않으면 다음 이벤트가 오지 않는다.
Touch 이벤트는 차일드에 가기전에 인터셉트 이벤트가 발생할 수도 있다.
모션이벤트 멀티터치
GestureDetector
ViewGroup Touch 처리
'Android' 카테고리의 다른 글
[14일차]SurfaceView (0) | 2016.08.04 |
---|---|
[13일차] 그리기, 접근성 (0) | 2016.08.03 |
[13일차] 커스텀 뷰 그래픽 (0) | 2016.08.03 |
[13일차]그래픽 실습. (0) | 2016.08.03 |
[13일차] 그래픽 (0) | 2016.08.03 |