일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- android designsystem
- Abstract Factory
- ㅓ
- Singleton
- 디자인패턴 #
- 옵저버 패턴
- Kotlin
- Functional Programming
- 추상팩토리패턴
- 안드로이드 디자인시스템
- El
- F
- 추상 팩토리
- 코틀린
- designPattern
- compose
- 싱글톤
- Observer Pattern
- factory method
- Design Pattern
- r
- PrototypePattern
- 디자인패턴
- 빌터패턴
- 팩토리 메소드
- builderPattern
- 프로토타입 패턴
- 함수형프로그래밍
- material3
- ㅋㅁ
- Today
- Total
목록분류 전체보기 (333)
오늘도 더 나은 코드를 작성하였습니까?

권장사항 - @Inject 와 함께 생성자 삽입을 사용하여 Dagger 그래프에 유형을 추가한다. 가능하지 않다면, @Bind를 이용하여 인터페이스에 어떤 구현이 있어야 하는지 Dagger에 알려줌. @Provides를 사용하여 프로젝트가 소유하지 않은 클래스를 제공하는 방법을 Dagger에 알려줌. - 구성요소에서 모듈을 한 번만 선언 한다. - 사용되는 전체 기간에 따라 범위 주석의 이름을 설정한다. (@ApplicationScope, @LoggedUserScope, @AcitivityScope) Android에서 Dagger 사용 Android에서 개발자는 앱이 실행되는 동안 그래프 인스턴스가 메모리에 있기를 원하기 때문에 일반적으로 애플리케이션 클래스 내부에 Dagger 그래프를 만듭니다. 이렇게..
레이아웃에 사용 빈도가 매우 낮은 복잡한 뷰가 필요한 때가 있습니다. 종류(예: 항목 세부정보, 진행률 표시기 또는 실행취소 메시지)에 상관없이 필요할 때만 뷰를 로드하여 메모리 사용을 줄이고 렌더링 속도를 높일 수 있습니다. ViewStub 만들기. ViewStub는 차원이 없는 가벼운 뷰로, 무엇을 그리거나 레이아웃에 참여하지 않습니다. 따라서 확장하든 뷰 계층 구조에 그대로 남겨두든 리소스 사용이 적습니다. 각 ViewStub는 간단히 android:layout 속성을 포함하여 확장할 레이아웃을 지정해야 합니다. 예) ViewStub는 반투명 진행률 표시줄 오버레이용입니다. ViewStub 로드하기. ViewStub에서 지정된 레이아웃을 로드하려면 setVisibility(View.VISIBLE)를..
코루틴을 사용할 때 앱의 확장성과 테스트 가능성을 높여 긍정적인 영향을 미치는 권장사항을 알아보자! 디스패처 삽입 새 코루틴을 만들거나 withContext를 호출할 때 Dispatchers를 하드코딩하지 마세요. // DO inject Dispatchers class NewsRepository( private val defaultDispatcher: CoroutineDispatcher = Dispatchers.Default ) { suspend fun loadNews() = withContext(defaultDispatcher) { /* ... */ } } // DO NOT hardcode Dispatchers class NewsRepository { // DO NOT use Dispatchers.De..
다음 두 가지 방법 중 하나로 코루틴을 시작할 수 있다. launch - 새 코루틴을 시작하고 호출자에게 결과를 반환하지 않습니다. ' - 실행 후 삭제로 간주되는 모든 작업은 launch를 사용하여 시작할 수 있습니다. async - 새 코루틴을 시작하고 await라는 suspend 함수로 결과를 반환하도록 허용합니다. 보통 일반 함수는 await를 호출할 수 없으므로 일반 함수에서 새 코루틴을 launch하고 그 안에서 async를 사용한다. async는 다른 코루틴 내부에서만 사용하거나 suspend 함수 내에서 병렬 분해를 실행할 때 사용합니다 주의사항 launch와 async는 예외를 서로 다르게 처리합니다. async는 최종 await 호출을 예상하므로 예외를 보유하고 await 호출의 일부로..