본문 바로가기
반응형

분류 전체보기236

Android -LiveData Android Developer에서 설명하는 LiveData란 관찰기능한(Observable) 데이터 홀더 클래스입니다. 간단히 설명하면 Activity나 Fragment, service의 life cycle을 따르는데, LiveData는 현재 활성화된 생명주기에 있는 앱 컴포넌트 옵저버만 업데이트하도록 보장합니다. 즉, life cycle이 STARTED이거나 RESUMED 일 때, 옵저버가 활성상태 인것으로 간주, 이 활성화 중인 옵저버들에게만 LiveData 업데이트에 대한 알림을 줍니다. (비활성화 상태 STARTED이거나 RESUMED가 아닌 상태는 알림을 받지 않습니다.) 그리고 DESTROYED일 때는 옵저버가 삭제 될 수 있도록 할 수 있기 때문에 메모리 릭에 대한 우려도 없습니다. 이런 .. 2019. 10. 15.
Android - ViewModel ViewModel이란 액티비티와 프래그먼트에서 사용되는 UI관련 데이터를 보관하고, 관리하기 위해 디자인 되었습니다. 왜 UI 데이터를 보관하고 관리하기 위해 디자인 되었냐면, ViewModel이 있기전에는 UI컨트롤러의 라이플 사이클에 따라 그 안에 저장해 두었던 UI 관련 임시 데이터들이 모두 사라집니다. 그리고 액티비티가 종료되기 직전에 호출되는 onSaveInstanceState() 콜백에서 액티비티의 상태 또는 데이터를 저장할 수 있지만 직렬화할 수 없는 객체는 저장할 수 없습니다. 거기다 많은 양의 데이터를 저장할 수도 없었습니다. 그래서 나온 디자인이 ViewModel 디자인입니다. 그럼 사라지는 가장 대표적인 경우는 가로/세로(PORTRAIT->LANDSCAPE, LANDSCAPE->POR.. 2019. 10. 15.
코틀린(Kotlin)- 코틀린의 예외 처리 [출처 - Kotlin In Action] [아래 내용들은 Kotlin In Action을 공부하면서 스스로 정리한 내용입니다] kotlin의 예외 처리는 Java와 크게 다르지 않습니다. kotlin 문법으로 작성한다는 부분만 다를 것입니다. 그럼 code를 통해서 확인해 보겠습니다. if(percentage ! in 0..100){ throw IllegalArgumentException("A percentage value must be between 0 and 100 : $percentage") } //or var percentage = if(number in 0 .. 100){ number }else{ throw IllegalArgumentException("A percentage value mus.. 2019. 10. 11.
코틀린(Kotlin)- 대상을 이터레이션: while과 for 루프 [출처 - Kotlin In Action] [아래 내용들은 Kotlin In Action을 공부하면서 스스로 정리한 내용입니다] 이번에는 for 문과 while 문을 공부해 보겠습니다. while의 경우에는 do while과 while 두가지가 있고 Java와 다르지 않습니다. do{ ... }while(조건) while(조건){ ... } 하지만 for문은 쫌 다릅니다. Java의 경우에는 for(int i = 0; i < size ; i++){ .... } for( item : List()){ .... } 로 for문을 만듭니다. 반면 kotlin에서는 아래와 같이 for문을 만들 수 있습니다. (아래와 같이 작성하면 1부터 100까지 값이 프린트 됩니다.) for(i in 1..100){ print.. 2019. 10. 11.
반응형