2017-03-25 2 views
-2

이 질문은 모호하지만 정확하게 Google을 위해 무엇을해야할지 모르겠습니다.아무 것도하지 않거나 심지어 사용하지 않을 때도 앱을 무언가로 만들 수있는 방법

하지만 내 응용 프로그램에는 다양한 속성을 가진 작업 목록을 만드는 섹션이 있으며 이러한 많은 숫자가 합쳐져 ​​시각적으로 일일 합계로 표시됩니다. 그러나 이러한 일별 합계는 24 시간마다 다시 설정되어야합니다 (사용자가 마감 시간을 선택한 시간, 예를 들어 누군가 늦게까지는 오전 3시).

바로 지금 : 내 데이터베이스는 모든 데이터를 하루에 저장할 수 있습니다. 그런 다음 일일 카운터는 현재 날짜를 찾고 데이터베이스에서 해당 데이터를 가져 와서 숫자를 시각적으로 표시합니다. 그것은 쉬운 부분입니다.

힘든 부분 : 사용자가 화면을 회전하거나 앱을 다시 시작하면 시간이 지나면 카운터를 새로 고칠 수 있습니다. 그 이유는 사용자가 찾을 수없는 새로운 날짜의 항목을 데이터베이스에서 찾고 있기 때문입니다. 그래서 모든 것은 의도 한대로 0이 될 것입니다. 그러나 사용자가 시간 단축으로 화면을 쳐다 보지 않으면 어떨까요? 시간이 지나면 앱에서 카운터를 새로 고치려면 어떻게해야합니까? 앱을 전혀 사용하지 않는 경우 (백그라운드에서 최소화되거나 활성화되지 않은 경우)

데이터베이스의 값과 비교하여 현재 시간을 확인하는 배경에 항상 실행되는 루프가 있어야합니까? 그렇다면 항상 시간을 기준으로 데이터베이스에서 값을 가져와야하는 경우 비효율적이지 않습니까? 이런 식으로 올바른 연습은 무엇입니까? 당신은 설치 서비스를 할 수 있고 주기적으로 실행하기 위해 해당 서비스를 예약

답변

0

있도록 당신이 그것을

어쩌면이 article 당신을 도울 수 할 원하는 작업을 수행합니다.

0

알람 관리자서비스은 사용자가 요구 사항을 충족시키기 위해 구현하는 데 이상적입니다.

서비스 : 활동의 수명주기와 관계없이 항상 실행됩니다. 알람 관리자 : 내부 서비스는 알람 관리자를 사용하여 정기적으로 UI를 업데이트하는 이벤트를 트리거합니다.

마지막으로 로컬 브로드 캐스트 수신자을 사용하면 서비스에서 활동을 업데이트 할 수 있습니다. 내가 찾은 알람 관리기를 들어

Android update activity UI from service

+0

http://stackoverflow.com/questions/24196890/android-schedule-task-to-execute-at-specific- :

아래 세부 구현을 확인할 수 있습니다 시간 - 매일하지만 어떤 이유로 나는 "AlarmReceiver" – user7767733