[Android] 데스크 톱 플러그 인 개발 (1)

다음으로 전송:http://www.eoeandroid.com/thread-71208-1-1.html
       응용 프로그램 창 위 젯 App Widgets 응용 프로그램 창 위 젯 (Widget) 은 작은 응용 프로그램 보기 로 다른 응용 프로그램 (예 를 들 어 데스크 톱) 에 삽입 되 어 주기 적 인 업 데 이 트 를 받 을 수 있 습 니 다.App Widget provider 를 통 해 Widget 을 발표 할 수 있 습 니 다.다른 App Widget 을 수용 할 수 있 는 프로그램 구성 요 소 를 App Widget 숙주 라 고 합 니 다.기본 지식 The Basic 은 App Widget 을 만 들 기 위해 다음 과 같은 것들 이 필요 합 니 다. AppWidgetProvider Info 대상 은 App Widget 메타 데 이 터 를 설명 합 니 다. 예 를 들 어 App Widget 의 레이아웃, 업데이트 빈도, 그리고 AppWidgetProvider 류 등 입 니 다.이것 은 XML 에서 정의 해 야 한다.앱 Widget Provider 클래스 의 구현 정의 기본 방법 은 앱 Widget 과 연결 할 수 있 도록 프로 그래 밍 하 는 것 입 니 다. 이것 은 방송 이벤트 에 기반 합 니 다.이 를 통 해 앱 위 젯 이 업데이트 되 고 사용 되 며 사용 하지 않 거나 삭제 되 었 을 때 라디오 알림 을 받 을 수 있 습 니 다.보기 레이아웃 은 이 App Widget 에서 XML 에서 초기 레이아웃 을 정의 합 니 다.또한 App Widget 설정 활동 을 수행 할 수 있 습 니 다.이것 은 사용자 가 App Widget 을 추가 할 때 불 러 오고 만 들 때 App Widget 설정 을 수정 할 수 있 도록 선택 할 수 있 는 활동 Activity 입 니 다.다음 장 에 서 는 이러한 구성 요 소 를 만 드 는 방법 을 설명 합 니 다. 목록 에서 작은 위 젯 을 설명 합 니 다. 먼저 응용 프로그램 AndroidManifest. xml 파일 에서 AppWidgetProvider 류 를 설명 합 니 다. 예 를 들 어 자바 코드:
< receiver android:name="ExampleAppWidgetProvider" >
< intent-filter>
< action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
< /intent-filter>
< meta-data 
android:name="android.appwidget.provider"
android:resource="@xml/example_appwidget_info < src="http://hi.images.csdn.net/js/blog/tiny_mce/themes/advanced/langs/zh.js" type="text/javascript"> < srcsrc="http://hi.images.csdn.net/js/blog/tiny_mce/plugins/syntaxhl/langs/zh.js" type="text/javascript"> " />

< /receiver>

      < receiver > 요 소 는 android: name 속성 이 필요 합 니 다. App Widget 에서 사용 할 AppWidgetProvider 를 지정 합 니 다.
< intent - filter > 요 소 는 android: name 속성 을 포함 하 는 < action > 요 소 를 포함해 야 합 니 다.이 요 소 는 AppWidgetProvider 가 ACTION 을 받 아들 일 것 을 지정 합 니 다.APPWIDGET_UPDATE 방송.이것 은 네가 반드시 명시 해 야 할 유일한 방송 이다.필요 할 때 AppWidgetManager 는 자동 으로 모든 다른 App Widget 방송 을 AppWidgetProvider 에 보 냅 니 다.
       < meta - data > 요 소 는 AppWidgetProviderInfo 자원 을 지정 하고 다음 속성 이 필요 합 니 다.
  
       
android:name ? 메타 데이터 이름 을 지정 합 니 다.
  android:resource ? AppWidgetProviderInfo 자원 경 로 를 지정 합 니 다.
  
AppWidgetProviderInfo 메타 데이터 추가
AppWidgetProvider Info 는 앱 Widget 의 기본 기능 을 정의 합 니 다. 예 를 들 어 최소 레이아웃 크기, 초기 레이아웃 자원, 새로 고침 빈도, 생 성 시 불 러 오 는 설정 활동 등 입 니 다.XML 자원 에서 AppWidgetProvider Info 대상 을 정의 하고 프로젝트 의 res / xml / 디 렉 터 리 에 저장 하 는 단독 < appwidget - provider > 요 소 를 사용 합 니 다.
Java 코드:
< appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="294dp" 
android:minHeight="72dp"
android:updatePeriodMillis="86400000" 
android:initialLayout="@layout/example_appwidget"
android:configure="com.example.android.ExampleAppWidgetConfigure" >
< /appwidget-provider>

       
다음은 < appwidget - provider > 속성의 총 결 입 니 다.
minWidth 와 minHeight 속성의 값 은 이 앱 Widget 레이아웃 에 필요 한 최소 영역 을 지정 합 니 다.
결 성 된 App Widgets 가 있 는 창의 데스크 톱 위 치 는 정확 한 높이 와 너비 가 있 는 셀 격자 에 기반 합 니 다.앱 위 젯 의 최소 길이 와 이 격자 단위 의 크기 가 일치 하지 않 으 면 이 앱 위 젯 은 가장 가 까 운 단위 크기 로 줄 어 듭 니 다.(App Widget Design Guidelines 를 참조 하여 데스크 톱 셀 크기 에 대한 정 보 를 더 얻 을 수 있 습 니 다)
데스크 톱 레이아웃 방향 (이 로 인해 단원 의 크기) 이 변 할 수 있 기 때문에 엄 지 규칙 에 따라 최 악의 경우 단원 의 사 이 즈 는 74 픽 셀 높이 와 너비 라 고 가정 해 야 합 니 다.그러나 픽 셀 계산 과정 에서 발생 하 는 모든 정수 반올림 오 차 를 고려 하기 위해 서 는 마지막 사이즈 에서 2 를 빼 야 한다.픽 셀 밀도 와 무관 한 최소 너비 와 높이 를 찾 으 려 면 이 공식 을 사용 하 십시오.
  
(number of cells * 74) - 2
      
이 공식 에 따 르 면 72dp 를 각 단원 의 높이 로 하고 294 dp 는 네 개의 단원 너비 로 사용 해 야 한다.
       updatePerdiodMillis 속성 은 App Widget 프레임 워 크 에서 onUpdate () 방법 을 호출 하여 AppWidget Provider 에서 업 데 이 트 를 요청 하 는 빈 도 를 정의 합 니 다.실제 업데이트 시간 은 그다지 정확 하지 않 으 며, 업데이트 빈도 가 낮 을 수록 좋 습 니 다. - 아마도 시간 당 한 번 을 초과 하지 않 아 전원 을 절약 할 수 있 습 니 다.설정 에서 이 주파 수 를 조정 할 수 있 습 니 다. - 일부 사람들 은 15 분 에 한 번 씩 주식 가격 을 제시 하거나 하루 에 네 번 만 제시 하고 싶 어 할 수도 있 습 니 다.
  
initialLayout 속성 은 App Widget 레이아웃 을 정의 하 는 자원 을 가 리 킵 니 다.
  
configure 속성 은 Activity 를 정의 합 니 다. 사용자 가 App Widget 을 추가 할 때 시작 합 니 다. 그 나 그녀 가 App Widget 기능 을 설정 하 는 줄 알 았 습 니 다.이것 은 선택 할 수 있 는 것 입 니 다 (아래 Creating an App Widget Configuration Activity 읽 기).
< appydget - provider > 요소 에 의 해 받 아들 일 수 있 는 속성 정 보 를 얻 으 려 면 AppWidgetProvider Info 클래스 를 참조 하 십시오.

좋은 웹페이지 즐겨찾기