마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

[안드로이드 스튜디오] 카운트 다운 타이머 상태유지

0 추천

카운트 다운 타이머를 설정해 놓고 앱을 나갔다 들어오면 화면이 초기화 되어있습니다.

카운트 다운 타이머 설정하고 앱 나갔다 와도 상태유지되게 하려면 어떻게 해야되나요

SharedPreferences를 써야되는 거면 구체적을 알려주시면 감사하겠습니다ㅠㅠㅠ

이렇게 카운트다운에서 앱 나갔다 들어와도 계속 카운트다운 되게 하는 법 도움 요청합니다ㅜㅜ

개발개발자 (1,100 포인트) 님이 2020년 7월 21일 질문

1개의 답변

+1 추천

이런 건 소스도 같이 올려야 판단하기 좋습니다. 

  • onResume()에서 타이머를 초기화하는지, 
  • onCreate()에서 초기화하지만 앱을 나갔다 들어온다는게 정확히 홈버튼을 누르는 건지, 완전히 앱을 종료했다가 재시작 하는건지
를 알 수 있어야 답변이 가능합니다. 
 
preference를 쓴다면 시작 시간의 System.currentTimeMillis 를 저장해놨다가 앱이 재시작할 때 현재 시간과의 차이를 구해서 타이머를 세팅하면 되고요. 
쎄미 (162,410 포인트) 님이 2020년 7월 21일 답변
답글 달아주셔서 감사합니다..!
https://m.blog.naver.com/PostView.nhn?blogId=jogilsang&logNo=221694412850&proxyReferer=http:%2F%2Fwww.google.com%2F
여기에 있는 코드 썼습니다!!!

onCreate()에서 초기화하고 홈버튼은 아니고. 앱을 완전히 종료했다가 재시작하거나, 다른 액티비티로 넘어갈 경우에 해당 타이머 액티비티의 카운트다운이 초기화 됩니다
그래서 앱을 종료하거나 다른 액티비티로 넘어가도 카운트다운이 유지 되었으면 합니다ㅜ
그럼 preference를 사용하시면 됩니다. 구체적 사용법 같은 건 널리고 널렸으니 대충 검색해도 나올 겁니다.
감사합니다! 하지만 화면이 저장은 되었지만 카운트다운도 멈추고 작동하던 기능이 초기화 됩니다 액티비티 나갈 때 화면만 딱 저장되는데
카운트다운은 유지시키려면 어떻게 해야되나요ㅜ
검색해보니 service나 thread를 사용해야되는 것 같은데 어떻게 구현해야될지 모르곘네요ㅜ
화면이 다시 시작할 때 preference에 저장해둔 정보를 불러와서 다시 시작하면 되죠.
...