用户退出应用程序时销毁值

时间:2013-10-04 09:10:13

标签: android

我正在使用SharedPreferences来了解用户是否在ViewPager中选择了某些内容并将其传递到相关片段。

e.g。如果有选择,则变量isPassed = 1

如果还没有选择isPassed = 0

问题

由于SharedPreferences持久化数据并且值isPassed = 1始终存在,这会扰乱我在应用程序内的当前流程。所以我尝试在我isPassed=0课程的onDestory中分配ViewPager,但它不起作用。

有人可以建议对此进行任何改进吗?或者至少建议我一种存储值的方法,直到用户进入应用程序,并且一旦用户退出应用程序,所有值都将被重置。请帮忙。

4 个答案:

答案 0 :(得分:2)

而不是使用共享首选项创建一个类并使用setter和getter方法来设置和获取值。退出应用程序后,您的值也将被销毁。

答案 1 :(得分:1)

如果您不希望您的信息在应用范围之外保留,那么SharedPreferences真的不是一个好地方。

为什么不尝试将它存储在Application课程的实例中?用户退出应用程序后,系统会迅速销毁此实例。

答案 2 :(得分:1)

使用

public static int isPassed=0;

它将存储值,直到用户进入应用程序,并且一旦用户退出应用程序,它将重置。

您可以通过Classname.isPassed=1;

在另一个班级中使用它

答案 3 :(得分:0)

如果你要找的只是一个标志,你可以创建一个空文件。 几种创建文件的方法

File myFile =new File(directory.getAbsolutePath() + File.separator +  "myFile.txt");
try
  {
   new_file.createNewFile();
  }
  catch (IOException e)
  {
  }

检查它是否存在 File myFile = context.getFileStreamPath(FILE_NAME); if(file.exists())

删除它 File myFile = new File(selectedFilePath); boolean deleted = file.delete();