我正在编写代码,每次单击textview时,它会将整数变量递增1。我想记录包含日期的点击事件,以便我可以根据每月历史记录或每周历史记录生成图表。
如何将日期戳附加到onclick事件?
例如,当用户点击“郁闷”时textview,我希望用时间戳保存它,以便我可以用它来告诉用户他在过去一个月里被压了7天,并用图表显示它。
我想使用日期和变量,我的应用程序中没有用户输入。就像FITBIT一样,它每天,每周,每月向您展示您的健康状况。
这是我的代码,它在SharedPrefs中保存变量并增加它们
//Retrieve the stored data for Values.
SHAREDPREFS = getSharedPreferences(VALUES,MODE_PRIVATE);
SharedPreferences.Editor editor = SHAREDPREFS.edit();
switch (view.getId())
{
//increment values in VALUES sharedprefs to keep history
case R.id.textView_depressed:
int i_depressed= SHAREDPREFS.getInt("save_depressed",0);
if (i_depressed>0)
{
i_depressed++;
editor.putInt("save_depressed",i_depressed);
editor.apply();
}
else
{
i_depressed++;
editor.putInt("save_depressed",i_depressed);
editor.apply();
}
Toast.makeText(getApplicationContext(),"Depressed = " + i_depressed,Toast.LENGTH_SHORT).show();
break;
这是我到目前为止所写的草稿。 i_depressed是一个变量,当用户点击郁解的textview时,它将保存递增的值。我希望它用日期保存递增的值,然后我想在上周,过去15天,上个月或特定月份的日期范围内检索此变量的值。
答案 0 :(得分:0)
您可以存储一个JSON数组,而不仅仅是保存单个变量,而数组的每个条目都包含一个(增量值,时间戳)。
无论何时启动应用程序,您都可以将数组加载到内存中。由于所有时间戳都按严格递增顺序排列,因此您可以在所需范围内找到该值。