안드로이드 프로그램 개발 - 위젯 컴포넌트 개발 위젯은 날씨, 메모 등을 바탕화면에 배치할 수 있는 컴포넌트입니다. AppWidget 프레임워크 클래스는 Widget 컴포넌트의 기본 적용, 위젯 구성, 위젯과 서비스의 결합을 실습합니다.

 위젯 컴포넌트 개발

1.1 실험 목적

   Android 위젯 구성 요소의 응용을 마스터하고, 위젯 구성 요소의 기본 응용, 위젯 구성, 위젯과 서비스의 조합을 연습하여 시간 카운트다운을 구현합니다.

1.2 실험 단계

1. Android 애플리케이션을 만들고 위젯의 기본 사용법을 연습합니다.

2. TextView와 ImageButton이라는 두 개의 컨트롤을 레이아웃 파일에 추가합니다.

3. res 아래에 xml 폴더를 생성한 후 widget_template.xml 메타데이터를 생성합니다.

4. WidgetProvider.java 파일 추가

5. 위젯 구성을 연습하고 활동(ConfigActivity.java)을 추가합니다.

6. ConfigActivity.java에 해당하는 widget_config.xml 레이아웃 파일을 추가합니다.

7. 메타데이터 파일 widget_template.xml에 구성 코드를 추가합니다.

8. WidgetProvider.java 파일에 updateTextColor를 추가합니다.

9. AndroidManifest.xml에 ConfigActivity.java를 등록합니다.

10. 위젯과 서비스를 연습하고 TRandomService.java를 추가하세요.

11. AndroidManifest.xml에 TRandomService.java를 등록합니다.

12. WidgetProvider.java 파일 수정

1.3연예대지

1. 프로젝트 생성

2. 위젯 기본 애플리케이션(SimpleWidget)

2.1 Activity_main.xml의 이름을 widget_layout.xml로 변경하고 MainActivity.java를 삭제한 후 AndroidManifest.xml에서 등록 코드를 삭제합니다.
2.2 res 아래에 xml 폴더를 생성한 후 widget_template.xml 메타데이터 생성
2.3 WidgetProvider.java 파일 추가

3 위젯 구성 실습

3.1 새 활동 추가(ConfigActivity.java)
3.2 ConfigActivity.java에 해당하는 widget_config.xml 레이아웃 파일 추가

3.3 widget_template.xml에 구성 코드 추가

3.4 WidgetProvider.java 파일 추가
3.5 AndroidManifest.xml에 ConfigActivity.java 등록

4 위젯 및 서비스(ServiceWidget)

4.1 TRandomService.java 추가

4.2 AndroidManifest.xml에 TRandomService.java 등록

4.3 WidgetProvider.java 파일 수정

실험적 효과

1.4 실험 요약

1. 위젯
위젯은 날씨, 메모, 캘린더, 흐름 제어 등을 포함하여 바탕 화면에 배치할 수 있는 구성 요소입니다. .

2.AppWidget 프레임워크 클래스

(1) AppWidgetProvider :

BroadcastRecevier에서 상속되며 AppWidget이 업데이트, 활성화, 비활성화 및 삭제를 적용할 때 알림을 받습니다. 그 중 가장 일반적으로 사용되는 메소드는 onUpdate와 onReceive이며, 업데이트 알림을 받습니다.

(2) AppWidgetProvderInfo:

AppWidget의 크기, 업데이트 빈도, 초기 인터페이스를 설명하는 정보는 애플리케이션의 res/xml/ 디렉터리에 XML 파일 형식으로 존재합니다.

(3)AppWidgetManger :

AppWidget을 관리하고 AppwidgetProvider에 알림을 보내는 일을 담당합니다.

(4) RemoteViews :

다른 애플리케이션 프로세스에서 실행되고 AppWidgetProvider에 알림을 보낼 수 있는 클래스입니다.

3.minWidth: Wdiget 구성 요소의 너비를 정의합니다.

minHeight: Wdiget 구성 요소의 높이를 정의합니다.

updatePeriodMillis: 업데이트 기간

initialLayout: 위젯의 레이아웃 파일

4.AppWidgetProvider:

이는 실제로 다음 기능을 제공하는 BroadcastReceiver입니다.

onReceive(컨텍스트, 의도)

onUpdate(Context, AppWidgetManager, int[] appWidgetIds)

onEnabled(컨텍스트)

onDeleted(컨텍스트, int[] appWidgetIds)

onDisabled(컨텍스트)

위의 함수를 다시 작성하여 위젯 상태의 변경 사항을 모니터링하고 그에 따라 처리할 수 있습니다.

추천

출처blog.csdn.net/WZY22502701/article/details/134230665