Android:如何保存应用程序使用次数的记录?

时间:2018-08-13 13:36:21

标签: c# android xamarin

我有一个非常简单的应用程序,它可以创建一个文本文件(单击按钮后)并将其发送到某个电子邮件地址(单击另一个按钮后)。我想添加一种功能来更改基于发送文件的次数(即应用成功运行到结束的次数)创建的文本文件的名称。当前,文本文件的名称是固定的。

我的想法:

我正在考虑对应用程序的启动进行检查,以查看是否存在另一个文本文件,将其称为Counter.txt。这将包含单击“发送”按钮的次数。如果文件不存在,则将创建该文件并附加数字0。每次单击“发送”按钮,它将打开Counter.txt并递增该数字。同样单击“发送”,它将通过电子邮件发送我要发送的主文本文件,并通过将Counter.txt中的数字附加到其上来调整名称。

我不确定这是最好还是最有效的方法,因此请欣赏其他建议以实现此目的。谢谢。

2 个答案:

答案 0 :(得分:1)

为什么不使用SharedPreferences存储应用程序启动的次数并增加主onCreate()的{​​{1}}方法上的值?

然后,在发送邮件时,将根据Activity值重命名该文件。 我认为这比每次启动应用程序时更改文件名要好。

关于SharedPreferences的使用方法,Stack Overflow post很不错,您应该检查一下!关于如何重命名文件here的另一篇文章。

希望这会有所帮助!

答案 1 :(得分:1)

  

如果要保存的键值集合相对较小,则应使用SharedPreferences API。 〜Android Developer Documentation

// Create your shared preferences
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);

// Write to shared preferences
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt("yourkey", yourvalue); // You could store the counter right here
editor.commit();

// Read from shared preferences
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
int defaultValue = 0;
int lastcounter = sharedPref.getInt("yourkey", defaultValue);