안드로이드에서는 SDK 1.6 버전 이상부터는 위젯의 갱신 시간을 조절하는 android:updatePeriodMillis 를 기본 30분으로 지정하고 있습니다. 그 이유는 너무 잦은 화면 갱신은 베터리의 극심한!! 소모를 야기한다고 레퍼런스 문서에 나와있습니다. 따라서, 위젯의 업데이트 = 베터리의 소모 라는 것을 유념하여 주시고, 포스트 글을 봐주시기 바랍니다. 위젯을 업데이트 하는 방법은 2가지가 있습니다. 일단 본 포스팅에서는 서비스를 이용해서... 위젯의 텍스트 뷰에 숫자를 1초단위로 업데이트 해보도록 하지요. (본 포스트에 사용된 내용은 http://fallingstar.tistory.com/92 에서 만든 기초적인 위젯을 바탕으로 적용한 것입니다. 기본 앱위젯 생성은 주소의 포스트를 참고해 주세요.) 1. AppWidgetProvider 에 Inner Class로 Service 클래스를 생성 1. 서비스 클래스의 생성 public static ComponentName mService
= null; //서비스 클래스 시작을 위해 ComponentName 형 변수 선언. //또한 서비스 클래스를 내부 클래스로 정의한 후 아래와 같이 선언한다. @Override @Override /* //run 함수 내에서 갱신 작업을 처리한다.
}// inner class end 2. Manifest.xml에 아래의 구문을 추가한다. 3. 서비스에서 run() 함수를 재정의한다. //리모트뷰에 앱위젯의 레이아웃을 결합한다. /* //위젯이
업데이트 되었음을 알린다. if(endServiceFlag){ 4. 위젯의 레이아웃에 TextView를 추가한다. |