2017-06-07 79 views
-2

我正在创建一个android问答游戏。我想实现每个级别的计时器来计算用户可以回答所有问题的速度。每个级别之间都有一个活动,我想显示在进入下一级别之前回答上一级别测验所花费的时间。我可以获得关于如何实施这个的指南吗?谢谢你提前如何在android中实现问答游戏的计时器

+0

看看[''System.currentTimeMillis()'](https://developer.android.com/reference/java/lang/System.html#currentTimeMillis())。记录开始时间并从最后=时间减去它。 – Tigger

+0

@Tigger我在哪里插入它的开始位置和结束位置?我想要花费的时间来继续到下一个层次 – nanana

+0

这是由你来设计和决定 - 我怎么可能知道你的代码? – Tigger

回答

0
You can do something like this, when the user starts quiz and enters into your first level, then inside onCreate take start time like this: 

     Calendar calendar; 
     SimpleDateFormat df; 
     String template = "yyyy-MM-dd HH:mm:ss"; 
     calendar = Calendar.getInstance(); 
     df = new SimpleDateFormat(template, Locale.getDefault()); 

     //this will give you the start time 
     String startTime = df.format(calendar.getTime()); 

     //when user finishes up the level again record the finish time 
     String finishTime = df.format(calendar.getTime()); 

     //then compare the two times 
     Date d1 = null; 
     Date d2 = null; 
     try { 
      d1 = df.parse(startTime); 
      d2 = df.parse(finishTime); 
     } catch (ParseException e) { 
      e.printStackTrace(); 
     } 

     //in milliseconds 
     long diff = d2.getTime() - d1.getTime(); 

     long diffSeconds = diff/1000; 
     long diffMinutes = diff/(60 * 1000); 
     long diffHours = diff/(60 * 60 * 1000); 

希望它有帮助!