我建议您不要使用它Shared Preferences
来保存您想要的数据。因为他们可以修改它。
只有一种方法可以保护它,你必须拥有自己的服务器来保存它。本地存储也不安全。
但是如果你想知道如何检查,为了学习,你也可以使用Shared Preferences
。
Step1:获取您当前的时间string
:
SimpleDateFormat sdf = new SimpleDateFormat("d-m-Y");
Calendar cal = Calendar.getInstance();
String dateInStr = sdf.format(cal.getTime());
步骤 2:检查启动活动。后onCreate()
SharedPreferences pre=getSharedPreferences("my_sp", MODE_PRIVATE);
SharedPreferences.Editor edit=pre.edit();
if (pre.getBoolean(dateInStr, false)){
//they checked today
}else{
//not today
// use check function here
edit.putBoolean(dateInStr, true);
edit.commit();
}
好的,把第1步的代码放在第2步的代码上面,我只是为了方便理解把它分开。
Step3:您可以检查他们是否有超过1次的检查点。如果这是他们一天中第一次退房,我们就给他们加 100 分。
把它放在上面的 else 语句中edit.putBoolean(dateInStr, true);
//get prev_score from SP
long previous_score = pre.getLong("score", 0);
//add 100
previous_score = previous_score + 100;
//save back to SP
edit.putLong("score", previous_score);