
Collection ListView와 GridView같이 다양한 요소를 표현하는 View는 보통 Adapter와 연결되어 표현합니다. 위젯에도 컬렉션을 표현할 수 있으며 Adapter 연결을 RemoteViewsService와 RemoteViewsFactory로 진행합니다. 즉 개발자는 RemoteViewsFactory를 통해 Adapter의 기능을 구현하고, RemoteViewsService를 통해 RemoteViewsFactory를 생성하여 Collection에 연결할 수 있습니다. RemoteViewsFactory RemoteViewsFactory를 상속받아 Adapter처럼 구현하면 됩니다. getLoadingView는 Collection을 로딩할 때 보여줄 View를 반환하며 로딩할 때 보여줄 ..

설정 위젯을 만들기 전에 설정이 필요한 경우가 있습니다. 예를 들어 시계 위젯에서 지역을 설정하거나 날씨 위젯에서 지역을 설정하는 작업을 진행할 경우 입니다. 이러한 설정을 Activity를 통해 위젯 초기에 진행하거나 위젯 생성 후 중간에 진행할 수 있습니다. Activity 생성 및 연결 ACTION_APPWIDGET_CONFIGURE로 Activity가 실행되기 때문에 intent-filter를 추가합니다. (추가 안해도 정상 작동하지만 공식 문서에서는 선언하는 것을 원칙으로 합니다.) AppWidgetProviderInfo에 Activity를 연결합니다. 위 두 작업을 끝내면 위젯을 추가할 때 Activity가 실행됩니다. 위젯 설정 위젯 설정을 성공적으로 마쳤다는 응답을 AppWidgetMana..
2021.12.02 - [Android/Widget] - Android Widget - 위젯 생성 AppWidgetProvider 안드로이드에서 Widget에 관련된 생성, 삭제, 수정 등 이벤트를 제공하며 BroadcastReceiver를 통해 이벤트를 수신할 수 있습니다. 안드로이드에서 이러한 이벤트를 쉽게 처리하기 위해 AppWidgetProvider를 제공합니다. 실제로 내부 코드를 보면 BroadcastReceiver를 상속받고 onReceive에서 Action으로 분기하여 onEnabled, onDeleted등 함수를 호출합니다. 즉 개발자는 AppWidgetProvider를 상속받고 해당 함수를 오버로딩하면 됩니다. public class AppWidgetProvider extends Bro..

위젯 홈 화면에서 쉽게 정보를 제공하거나 어플리케이션을 제어할 수 있는 기능이다. 사용자가 쉽게 접근할 수 있지만 어플리케이션이 아닌 홈 화면에서 제공받기 때문에 제약이 따른다. 기본사항 AppWidgetProviderInfo 레이아웃, 업데이트 빈도, 크기 등 위젯에 대한 메타 데이터를 XML로 정의한다. 더보기 메터 데이터 설명 (링크) AppWidgetProvider BroadcastReceiver를 상속 받았으며 이벤트 형식으로 위젯을 관리할 수 있다. 더보기 @AndroidEntryPoint class CovidWidgetProvider : AppWidgetProvider() { @Inject lateinit var covidStatusManager: CovidStatusManager @Inje..
- Total
- Today
- Yesterday
- gradle
- TDD
- Coroutine
- null
- ConcatAdapter.Config
- CancellationException
- 함수
- 연산자
- Widget
- 클린 코드
- observable
- clean code
- DSL
- git
- rxjava
- viewmodel
- 보이스카우트 규칙
- Android
- Flowable
- ConcatAdapter
- Flutter
- commit
- 클린코드
- 코루틴
- Exception
- ViewModelProvider
- isActive
- Kotlin
- DART
- ViewModelStoreOwner
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |