일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 안드로이드스튜디오
- 재사용
- viewholder
- 뷰변경 감지
- ui test
- fragment
- IntentTestRule
- 리사이클러뷰
- 안드로이드13
- 안드로이드
- high order function
- 고차함수
- Fragment에서 Activity의 함수 사용하기
- 코틀린
- recyclerview
- 안드로이드개발레벨업교과서
- LayoutManger
- binding adapter
- 스와이프
- 테마 아이콘
- espresso
- Error:Execution failed for task ':app:mergeDebugResources'
- Android
- 코딜리티
- 구분선
- 생명주기
- adapter
- ActivityTestRule
- Fragment 수동 추가
- searchview
Archives
- Today
- Total
룬아님의 취중코딩
(Koin) BroadcastReceiver에서 inject()를 사용할 수 없는 문제 본문
분명 Activity와 Service 등에서 inject()를 사용하여 koin을 잘 사용하였는데
BroadcastReceiver를 상속받은 클래스에서 inject()를 찾을 수 없다고 하여서 검색을 해보았다.
결론은 클래스에 KoinComponent를 상속하여 해결할 수 있다.
보통 생명주기를 가지는 activity, service 등은 Koin에서 extension으로 구현하고 있기 때문에 따로 KoinComponent를 상속하지 않아도사용할 수 있지만 다른 요소는 기본적으로 지원하고 있지 않기 때문이다.
// In Activity no need for KoinComponent
class SomeActivity: AppCompatActivity() {
// evaluates dependency eagerly
val service: SomeOtherService = get()
// evaluates dependency lazily
val lazyService: SomeLazyService by inject()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ... other required stuff
// does something with services
}
}
// In non-lifecycle component, KoinComponent is needed
class SomeBroadcastReceiver: BroadcastReceiver(), KoinComponent {
// evaluates dependency eagerly
val service: SomeOtherService = get()
// evaluates dependency lazily
val lazyService: SomeLazyService by inject()
override fun onReceive(context: Context?, intent: Intent?) {
// does something with services
}
}
출처 : https://android.jlelse.eu/koin-simple-android-di-a47827a707ce
반응형
'개발 > 안드로이드 개발' 카테고리의 다른 글
SearchView and Databinding with high order function (0) | 2019.10.28 |
---|---|
(레포지토리 패턴) local과 remote 중 하나에서만 작동하는 기능이 필요할 때 (0) | 2019.10.28 |
Duplicate files copied in APK 에러 해결 방법 (0) | 2019.10.24 |
Dependency 최신 버전 확인하기 (0) | 2019.10.16 |
Gson.fromJson() - 타입이 틀렸을 때 예외처리 하기 (0) | 2019.10.14 |
Comments