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

하룻동안 얼마나 폰을 터치했는지 알고싶습니다.

+1 추천
안녕하세요 안드로이드 초보입니다.

다름이 아니라 화면을 터치하면 카운터가 1씩증가하는앱을 만들어보았는데요

이것을 하룻동안 이나 한달동안 으로 설정을 주고싶어서 그런데

어떻게해야 하룻동안 이라는 리미트를 주고 한달동안 이라는 리미트를 줄 수 있는지 모르겠습니다;

혹시 아시는 분이 계시다면 도움을 주셧으면 합니다.

제가아는것을 Calender.DATE 이정도 뿐이라... 어떻게 해야할지 모르겠네요;
김제로 (420 포인트) 님이 2014년 6월 24일 질문

1개의 답변

0 추천
일단...로직을 생각하시면 답이나올거같은데요
 
현재부터시작되는 날짜부터 30일까지의 날자를 long타입으로 preference에 저장합니다
 
그리고 현재시간을 long타입으로 가져와서 프리퍼런스에저장되어있는 날짜와 비교를해서 0보다작으면
 
1달이지나있는지 알수있겠죠
 
//현재시간으로부터 하루만큼에 시간을 long타입으로 반환한다.
Calendar mCalendar = Calendar.getInstance();
mCalendar.add(Calendar.DATE, 1);
long time = mCalendar.getTimeInMillis(); 
 
//프리퍼런스에 저장한다.
Editor editor = context.getSharedPreferences(KEY, Context.MODE_PRIVATE).edit();
editor.putLong(1DAYS_AFTER, time);
return editor.commit();
 
//프리퍼런스에 저장되어있는 날짜를 가져와서 현재시간하고 비교한다.
SharedPreferences savedSession = context.getSharedPreferences(KEY, Context.MODE_PRIVATE);
long prefTime = savedSession.getLong(1DAYS_AFTER, 0);
long currentTime = prefDate - System.currentTimeMillis();
 
long resultTime = prefTime - currentTime ;
 
if(resultDate <= 0) {
 //프리퍼런스에 저장된 기간이 만료됨
}
 
 
 
 
whdrb19 (23,520 포인트) 님이 2014년 6월 24일 답변
답변이 늦어 죄송합니다.
시도후 채택해드리겠습니다 감사합니다 ㅠ
...