안드로이드에서 타이머와 핸들러는 거의 같은 이유로, 같은 방법으로 사용할 수 있습니다. 말 그대로, 핸들러는 자바 타이머보다 더 나은 방법으로 메모리 누수 문제를 처리하는 네이티브 안드로이드 클래스입니다. 이것이 핸들러가 안드로이드 프로그래머와 프로젝트 사이에서 매우 일반적인 이유입니다. 또한 자바 코드 괴짜 안드로이드 처리기 예제에서 안드로이드 처리기에 대한 자세한 내용을 확인할 수 있습니다. 패키지 com.blundell.tut.ui.phone; 가져오기 자바.util.Calendar; import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.DatePicker;import android.widget.Toast; 가져오기 com.blundell.tut.R;import com.blundell.tut.service.ScheduleClient; /** * 이것은 우리의 응용 프로그램의 주요 활동입니다. * 여기 우리는 사용자가 날짜를 선택할 수 있습니다, * 우리는 다음 상태 표시 줄에 표시하기 위해 해당 날짜에 대한 알림을 설정 * * @author HARYOURBARMIEY * / 공용 클래스 MainActivity 활동 확장 { / / 이것은 우리가 만난 호출 할 수 있도록 핸들입니다 우리의 서비스 개인 ScheduleClient 일정에 호드클라이언트; 이것은 우리의 알림 개인 DatePicker 선택기의 날짜를 선택하는 데 사용되는 날짜 선택기입니다; /** 활동이 처음 생성될 때 호출됩니다. */ @Override 공개 void onCreate(번들 저장 인스턴스상태) { super.onCreate(저장된인스턴스상태); setContentView(R.layout.activity_main); // 새 서비스 클라이언트를 만들고 이 서비스 스케줄에 우리의 활동을 바인딩합니다클라이언트 = 새 ScheduleClient(이); 스케줄클라이언트.doBindService(); 날짜 선택기 선택기 = (DatePicker) findViewById (R.id.schedule.scheduleTimePicker)에 대한 참조를 가져옵니다. } /** * 이것은 새로운 알림을 설정하기 위해 XML에서 호출 된 onClick입니다 */ 공개 보이드onSelectedButtonClick (보기 v){ / / 날짜 피커 int 일 = picker.getDayOfMonth (); int 월 = picker.getMonth (); int 년 = picker.getYear (); // 선택한 날짜로 설정된 새 캘린더 // 우리는 시간을 자정(즉, 해당 날짜의 첫 번째 분)으로 설정하여 캘린더 c = Calendar.getInstance()로 설정합니다. c.set(연도, 월, 일); c.set(캘린더.HOUR_OF_DAY, 0); c.set(캘린더.분, 0); c.set(캘린더.초, 0); 해당 날짜에 대한 경보를 설정하도록 우리의 서비스를 요청, 이 활동은 서비스 스케줄을 이야기 클라이언트에 이야기Client.setAlarmForNotification (c); 사용자에게 방금 Toast.makeText(“알림 설정: “+ 일 +”/++(월+1) +”/”+”+”+ 연도, Toast.LENGTH_SHORT()를 방금 한 것을 사용자에게 알립니다. } @Override 보호 된 void onStop() { / / 우리의 활동이 중지될 때 우리는 또한 서비스에 대한 연결을 중지보장 // 이것은 우리가 시스템에 우리의 활동을 누설 중지 *bad* 경우 (scheduleClient != null) scheduleClient.doUnbindService (); super.onStop (} } 위의 레이아웃에서, 우리는 속성을 사용 했습니다 android:패딩변수를 사용 하 여 바닥 우리가 가지고 싶은 패딩의 값을 나타냅니다:android:paddingBottom=”@dimen/activity_vertical_margin”. 우리의 크기를 설정하기 위해, 안드로이드에서, 우리는 dimens.xml이 있습니다.

이 xml은 res/값/dimens.xml 폴더에 배치해야 합니다. 여기서 는 activity_main.xml 레이아웃의 패딩에 대한 디멘스를 설정합니다. 이것은 안드로이드 안드로이드타이머태스크예제의 예입니다. 안녕하세요 선생님, 나는 30 분마다 작업을 실행하고 싶습니다 (4 : 30 , 5 , 5 : 30,…) 나는 그에 대한 타이머 작업이 있습니다. 작업이 30분 을 초과할 수도 또는 초과하지 않을 수도 있습니다. 나는 다음 타이머가 이전의 완료 후 시작됩니다 튜토리얼에서 이해합니다. 그러나 작업 실행 시간에 관계없이 30 분 기간에 작업을 실행하기를 원합니다. 이것에 대한 가능성이 있습니까.? … 말했듯이, 그것은 짧은 작업에 유용 하 고 그것은 더 많은 목적을 위해 효과적 이지만 클래식 동기화의 존재 는 일부 스트레스 조건에서 문제가 될 수 있습니다.