C# 安卓:我如何记录应用程序的使用次数?

C# 安卓:我如何记录应用程序的使用次数?,c#,android,xamarin,C#,Android,Xamarin,我有一个非常简单的应用程序,它创建一个文本文件(点击一个按钮后)并将其发送到某个电子邮件地址(点击另一个按钮后)。我想添加更改文本文件名称的功能,该文件的创建基于文件发送的次数,即应用程序成功运行到最后的次数。目前,文本文件的名称是固定的 我的想法: 我正在考虑在应用程序启动时添加一个检查,看看是否存在另一个文本文件,让我们称之为Counter.txt。这将包含单击“发送”按钮的次数。如果文件不存在,那么它将创建它并附加数字0。每次单击“发送”按钮时,它都会打开Counter.txt并增加该数字

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

我的想法:

我正在考虑在应用程序启动时添加一个检查,看看是否存在另一个文本文件,让我们称之为Counter.txt。这将包含单击“发送”按钮的次数。如果文件不存在,那么它将创建它并附加数字0。每次单击“发送”按钮时,它都会打开Counter.txt并增加该数字。此外,单击“发送”按钮,它会通过电子邮件发送我要发送的主文本文件,并通过将Counter.txt中的数字附加到该文件来调整名称


我不确定这是否是最好或最有效的方法,因此希望能有其他建议来实现这一点。谢谢。

为什么不使用
SharedReferences
来存储应用程序启动的次数,并增加主
活动
onCreate()
方法的值

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

这里有一个关于如何使用
SharedReferences
的好方法,你应该去看看!还有一篇关于如何重命名文件的帖子

希望这有帮助

如果要保存的键值集合相对较小,则应使用SharedReferences API


你是否有任何要求,比如防止用户手动覆盖该号码?@LiavReuven我也会在标题中修改“android”不,我没有这样的要求。谢谢你提出的修改标题的建议,在我看到它的时候,它已经被一位版主编辑了。你应该把它叫到别处。函数
onCreate()
每次应用程序的方向改变时都会被调用,这(依我看)不算是“应用程序的使用”。哦,是的,你说得对,我忘记了方向的事情。谢谢@Andrej,我不知道每次方向改变时都会调用onCreate(),我必须编辑我的代码来解释这一点!谢谢你@Neïl!我对偏好不太熟悉,你链接的帖子非常有用。一定要感谢我当时链接的帖子的原始海报:D,很高兴你找到了答案!非常感谢你。如果可能的话,我也会接受这个答案。
// 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);