2014-10-07 2 views
0

캔디 크래시처럼 "미니 게임"으로 카운트 다운을하고 싶습니다. 다음과 같이하고 있습니다. 먼저 현재 시간을 밀리 초 단위로 가져온 다음 초를 추가하여 마지막으로 현재 시간에 휴식 시간을 추가합니다. 이 모든 것이 정상적으로 작동합니다.올바른 방법으로 카운트 다운을 유지하십시오 - android

long currentTime= System.currentTimeMillis(); 

long addTime = currentTime+10000; 

long timeFinal= addTime-currentTime; 

는 그럼 난 (10 초이 예를 들어)이 시점 에서

new CountDownTimer(timeFinal, 1000) { 

      public void onTick(long millisUntilFinished) { 
       text.setText("seconds remaining: " + millisUntilFinished/1000); 

      } 

      public void onFinish() { 
       text.setText("done!"); 
      } 
     }.start(); 

그 시간, 카운트 다운 방법을 실행

내 의도하는 것입니다 제대로 작동 계속 서비스를 사용하여 백그라운드에서 실행되지만 두 가지 문제가 발생했습니다. 사용자가 서비스를 중지하면 카운트 다운이 누락됩니다. 사용자가 장치를 재부팅하면 카운트 다운이 누락됩니다.

그런 다음 서버에서 카운트 다운을하고 게임에서 데이터를 요청하는 것을 생각했지만 사용자가 인터넷에 연결되어 있지 않다면 어떻게해야합니까?

캔디 크래시는 이러한 모든 장애물을 극복합니다.

내가 어떻게 할 수 있습니까?

여러분의 도움과 인사에 대단히 감사합니다.

+1

나에 따르면 사용자가 서비스를 중지하거나 그 시간에 장비를 재부팅하면 데이터베이스에있는 것과 인터넷 연결에 대한 것과 같은 모든 시간을 로컬에 저장할 수 있습니다. 사용할 수없는 경우 데이터베이스 또는 공유 환경 설정에 저장하고 로컬로 검색하십시오. – Piyush

답변

0

왜 Sqlite (데이터베이스)를 사용하여 데이터를 저장합니까? 그것의 매우 간단하고 빠르고 안전한 방법. 이 방법으로 데이터를 저장할 수 있습니다. 안드로이드에서 SQLite를 사용 했습니까? 그 후 귀하의 카운트 다운 번호를 제공하고 방송 수신기로 시작하여 서비스에 설정해야합니다.

관련 문제