2016-07-11 3 views
0

PHP 파일을 실행하여 데이터베이스의 데이터를 연결하고 수정하는 앱을 개발 중입니다.앱 업데이트 처리 (AlarmManager)

데이터베이스 또는 PHP 파일을 변경해야하는 경우 예기치 않게 작동하고 응용 프로그램의 이전 버전이 작동하지 않을 수 있습니다. 이러한 이유 때문에 변경하려는 경우 사용자에게 ~ 업데이트 업데이트를 원합니다.

지금 당장 데이터베이스에 연결하고 앱 버전을 데이터베이스 버전과 비교하는 방법이 있습니다. 이 잘 작동하지만 응용 프로그램의 사용을 상당히 느리게 데이터베이스 (매우 자주) 액세스 할 때마다 호출합니다. 이 작업을 수행하는 더 좋은 방법이 있습니까? 나는 X 시간마다 업데이트를 확인하기 위해 AlarmManager 또는 BroadcastReceiver을 사용할 수 있다고 읽었습니다. 하지만 사용자가 며칠 동안 앱을 닫고 사용하지 않으면 어떻게 될까요? 이 타이머는 사용자가 앱을 시작하자마자 호출되어 업데이트를 강제 할 수 있습니까?

답변

2

Android AlarmManager는 Android Alarm Service와 통신하고 알람을 프로그래밍 할 수있게 해주는 API입니다. Linux Cron 작업과 비슷하다고 생각하십시오. 알람이 프로그래밍되면 앱이 실행되고 있지 않아도 알람이 실행되고 앱이 아닌 알람이 트리거되기 때문에 알람이 프로그래밍되는 즉시 트리거됩니다. 예를 들어, 알람을 프로그래밍하면됩니다. 기기를 다시 시작하면 알람이 삭제되므로 재부팅 할 때마다 다시 프로그램해야한다는 점에 유의해야합니다. BOOT_COMPLETED 브로드 캐스트를 캡처하여이 작업을 수행 할 수 있으므로 장치를 부팅 할 때마다 알람을 다시 프로그래밍 할 수 있습니다. Android AlarmManager의 정의를 확인하십시오. 원하는 것을하기위한 일반적인 패턴은 브로드 캐스트를 전송하거나 서비스를 시작하는 알람을 프로그래밍 한 다음 해당 서비스에서 서버를 쿼리 할 수있는 알람을 프로그래밍하는 것입니다. 장치가 절전 상태 일 때 알람을 보낼 수 없으므로 wakelocks과 작업해야한다고 생각해야합니다. 이 수업은 그걸 도와 줄 것입니다, check it out.

+0

감사합니다. 나는이 방법의 사용을 고려할 것이다. – tem887