| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- onDestory()
- 깃허브
- arcitecture
- 풀리퀘스트
- onStop()
- LifecycleOwner
- 프래그먼트
- LiveData
- onSaveInstanceState()
- onRestart()
- fragment
- Backing property
- configuration change
- ViewModel
- IntArray
- 열거
- 가시성
- onResume()
- pullrequest
- Navigation Graph
- onStart()
- Bundle
- Navgivation
- onPause()
- Navigation component
- TransactionTooLargeException
- onCreate()
- UI controller
- MVVM
- NavGraph
- Today
- Total
목록분류 전체보기 (26)
밑빠진 지식에 블로그 쓰기
안드로이드 날짜, 시간 다루기 https://developer.android.com/codelabs/basic-android-kotlin-training-shared-viewmodel?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-kotlin-unit-3-pathway-4%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-training-shared-viewmodel#6 프래그먼트 간 공유되는 ViewModel | Android Developers 고급 앱 예를 통해 Jetpack Navigation 구성요소를 ..
apply This may be the first time you're seeing the apply function in Kotlin. apply is a scope function in the Kotlin standard library. It executes a block of code within the context of an object. It forms a temporary scope, and in that scope, you can access the object without its name. The common use case for apply is to configure an object. Such calls can be read as "apply the following assignm..
LiveData는 생명 주기를 인식하는 관찰 가능한 데이터 홀더 클래스입니다. LiveData특징 - 데이터를 가지고 있다. 모든 유형의 데이터와 함께 사용할 수 있는 wrapper - 관찰 가능하다. LiveData 객체가 보유한 데이터가 변경될 때 관찰자에게 알림 - 생명 주기를 알고 있다. LiveData 관찰자를 연결하면 관찰자는 LifecycleOwner(일반적으로 액티비티 또는 프래그먼트) 와 연결 됩니다. LiveData는 STARTED 또는 RESUMED와 같은 활성 수명 주기 상태에 있는 관찰자만 업데이트합니다. LiveData는 수명 주기를 인식하므로 활성 수명 주기 상태에 있는 관찰자만 업데이트합니다. 따라서 GameFragment의 관찰자는 GameFragment가 STARTED 또..
아키텍처는 앱에서 클래스 간에 책임을 할당하는데 도움이 되는 가이드라인을 제공합니다. 잘 설계된 앱 아키텍처는 앱을 확장하고 향후 추가 기능으로 확항하는데 도움이 됩니다. 또 팀 협업이 더 쉬워 집니다. 일반적인 아키텍처 원칙은 관심사 분리와 모델에서 UI 구동입니다. 관심사 분리 관심사 분리 디자인 원칙에 따르면 앱은 각각 별도의 책임이 있는 클래스로 나누어야 합니다. 모델에서 UI 구동 또 다른 중요한 원칙은 모델, 바람직하게는 영구 모델에서 UI를 구동해야 한다는 것입니다. model은 앱의 데이터 처리를 담당하는 구성요소 입니다. 앱의 뷰와 앱 컴포넌트로 부터 도릭적이므로, 모델은 앱의 생명주기 및 관련 문제의 영향을 받지 않습니다. Android아키텍처의 주요 클래스 또는 구성 요소는 UI컨트롤..
가시성 변경자로 캡슐화를 해야하는 이유 이 문제를 해결하려면 속성의 가시성 수정자를 공개로 만들 수 없습니다. 다른 클래스에서 데이터를 편집할 수 없어야 합니다.이는 외부 클래스가 뷰 모델에 지정된 게임 규칙을 따르지 않는 예기치 않은 방식으로 데이터를 변경할 수 있기 때문에 위험합니다. 예를 들어 외부 클래스가 점수를 음수 값으로 변경할 수 있습니다. ViewModel 내에서 데이터는 편집 가능해야 하므로 public 및 var이어야 합니다. ViewModel 외부에서 데이터는 읽을 수 있어야 하지만 편집할 수 없어야 하므로 데이터를 public 및 val로 노출해야 합니다. 이 동작을 달성하기 위해 Kotlin에는 지원 속성이라는 기능이 있습니다. 지원 속성을 사용하면 정확한 개체가 아닌 getter..
일반적으로 변수를 선언할 때 초기 값을 미리 제공합니다. 그러나 아직 값을 할당할 준비가 되지 않은 경우 나중에 초기화할 수 있습니다. Kotlin에서 속성을 늦게 초기화하려면 늦은 초기화를 의미하는 lateinit 키워드를 사용합니다. 속성을 사용하기 전에 초기화할 것을 보장하는 경우 lateinit로 속성을 선언할 수 있습니다. 메모리는 초기화될 때까지 변수에 할당되지 않습니다. 변수를 초기화하기 전에 변수에 액세스하려고 하면 앱이 충돌합니다. https://developer.android.com/codelabs/basic-android-kotlin-training-viewmodel?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%..
Dialog는 사용자에게 결정을 내리거나 추가 정보를 입력하라는 메시지를 표시하는 작은 창(화면)입니다. 일반적으로 대화 상자는 전체 화면을 채우지 않으며 계속 진행하려면 사용자가 조치를 취해야 합니다. Android는 다양한 유형의 대화 상자를 제공합니다. 다이얼로그는 UI와 관련있기 때문에 UI controller(액티비티/프래그먼트)에서 생성하고 보여줄 책임이 있다. MaterialAlertDialog를 생성하려면 MaterialAlertDialogBuilder 클래스를 사용하여 단계별로 대화의 일부를 구축합니다. https://developer.android.com/codelabs/basic-android-kotlin-training-viewmodel?continue=https%3A%2F%2Fde..
컨텍스트는 애플리케이션, 활동 또는 프래그먼트의 컨텍스트 또는 현재 상태를 나타냅니다. 여기에는 활동, 프래그먼트 또는 애플리케이션에 관한 정보가 포함됩니다. 일반적으로 리소스, 데이터베이스 및 기타 시스템 서비스에 액세스하는 데 사용됩니다.
Android Jetpack은 앱에서 단순하거나 복잡한 어떤 탐색 구현도 처리할수 있게 도와주는 Navigation component를 제공합니다. Navigation component 주요한 3가지 부분이 있습니다. - Navigation Graph: Navigation Graph는 앱에서 Navigation을 시각적으로 표현하는 XML파일 입니다. 이 파일은 개별 activity와 fragment에 해당하는 destination(목적지)와 한 목적지에서 다른 목적지로 이동하는 코드에서 사용되는 그들사이의 작업으로 구성됩니다. 레이아웃 파일과 마찬가지고 네비게이션 destination과 action을 추가하는 편집기를 제공합니다. - NavHost: NavHost는 activity내에서 네비게이션 그래..
Activity와 Intent는 유용한 navigation 패턴이지만 너의 앱을 위한 동적 사용자 인터페이스를 만드는 것중 일부이다. 많은 Android앱은 모든 화면에 대해 별도의 Activity가 필요하지 않다. 실제로 Tab과 같은 많은 일반적인 UI 패턴은 Fragment라는 것을 사용하여 Single Acitiviy내에 존재 합니다. Fragment는 이름에서 유추할수 있든 재사용가능한 UI 조각이다. Fragment는 재사용할수 있고, 하나 이상의 활동에 포함 될수 있다. 위 스크린샷에서 탭을 탭하는것이 다음 화면을 보여주기위해 Intent를 발생시키지 않는다. 그대신에 탭을 바꾸는 것은 이전 Fragment에서 다른 Fragment로 간단히 교체 한다. 이 모든것들은 다른 Acitivy를 시..