목록프로그래밍/코틀린 안드로이드 (23)
불로구
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Zl3MV/btq2iqRewyW/uF5vS8BtGxY6yX5xjrfyz0/img.png)
프레그먼트란? - 하나의 Activity에 스스로 모든 것을 표현하기는 힘들다 - 하나의 액티비티에 여러 개의 화면을 가지도록 만들기 위한 개념 - 즉, 하나의 Activity에서 프래그먼트를 통해 역할(화면)을 분할하는 것 - 프래그먼트는 Activity에 종속적이며 라이프 사이클이 존재한다. 프래그먼트의 생명주기 1. OnAttach() - 프래그먼트가 Activity에 attach될 때 호출 - 인자로 context가 주어지며, 부모 액티비티에서 리스터 인터페이스를 상속받으면 형 변환을 통해 가져올 수 있다. 2. OnCreate() - UI를 제외한 리소스들을 초기화 - 일반적인 OnCreate() 3. OnCreateView() - 레이아웃들을 inflate하며, view객체를 얻을 수 있다. ..
LiveData -> Data의 변경을 관찰 할 수 있는 Data Holder 클래스 -> LiveData는 Observable과 다르게 안드로이드의 생명주기를 알고 있다. -> 활성상태에서만 데이터를 업데이트 -> LiveData는 Observer 객체와 같이 사용하여 LiveData가 가지고 있는 데이터에 변화가 발생 시 Observer 객체에 알려주고 Observer의 onChanged() 메서드 실행 liveText.observe(this, Observer{ text_test.text = it }) this는 클래스를 가리키는 LifeCycleOwner 클래스가 안드로이드 생명주기를 알고 있다. 장점 -> Data와 Ui 동기화 : 옵저버 패턴을 이용하여 데이터 변경 마다 Observer 객체에 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/eYBscn/btq1aQwhhBc/AfUpnHh62pi0s3DFbh3MSK/img.png)
MainActivity.kt import android.content.Context import android.content.Intent import android.content.SharedPreferences import android.graphics.Color import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.NumberPicker import android.widget.Toast import androidx.appcompat.app.AlertDialog import androidx.appcompat.widget.AppCompatButton import androidx.core.co..