有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在关闭应用程序之前调用方法?

我有一个变量,其中包含的数据可以在用户使用应用程序时更改。 我的目标是在用户关闭应用程序之前将这些数据存储在SharedPrefs中, 我在想类似的事情

OnStop()  {
Preferences.edit()... }

但是我不知道正确的语法。。。 提前谢谢各位


共 (3) 个答案

  1. # 1 楼答案

    您应该将持久数据保存在onPause()而不是onStop()

    然后您可以在onResume()中检索数据

    为了保存数据,您可以看看这个示例

      SharedPreferences.Editor editor = getSharedPreferences("myPrefs", MODE_PRIVATE).edit();
      editor.putString("username", "My name");
      editor.apply();
    

    然后像这样检索数据

      SharedPreferences prefs = getSharedPreferences("myPrefs", MODE_PRIVATE); 
      String username = prefs.getString("username", "No username"); //No username is the default value
    
  2. # 3 楼答案

    将数据保存在SavedPrefs in onStop方法中

    Syntex将像

    在顶部方法中

    @Override
    protected void onStop() {
        super.onStop();
        SharedPreferences saved_values = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
        SharedPreferences.Editor editor = saved_values.edit();
        edit.putString("key", "stringToBeSaved")
    
        editor.commit();
    }
    

    然后在onCreate方法中检索数据

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        SharedPreferences saved_values = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
        String foo = saved_values.getString("key", "default_string");
    }
    

    记住键应该是相同的

    欲了解更多信息,请访问
    共享首选项:Save key-value data
    Android生命周期:Understand the Activity Lifecycle