0

我已经了解如何使用 SharedPreferences。但我不明白的是在哪里编写将数据插入共享首选项的代码。在第一次启动应用程序期间,此代码只需执行一次。

进一步在第一个活动上可以检查此 SharedPreferences 数据以了解应用程序是否已首次启动。

我希望您理解我想第一次也是唯一一次将数据写入 SharedPreferences。我应该在哪里这样做?如果在任何活动中编写此代码,将在下一次活动启动时再次执行。

是否有一个内置变量来确定应用程序是否首次启动?

4

3 回答 3

0

如果我理解正确,您想要做的事情非常简单。在主要活动的 onCreate 中放置一个布尔变量。只需将其设置为 false(初始值为 true),以便您知道它是否是您的应用程序第一次运行

于 2012-12-04T11:36:35.990 回答
0

如果应用程序之前运行过,您可以做一个 sharedPrefs 布尔值。将其设置为 false,如果为 false,则执行您的预期代码。然后当应用程序最终运行并完成代码时,将布尔值设置为 true。

于 2012-12-04T11:33:42.827 回答
0

您可以创建自己的Application类并在 onCreate 方法中编写 SharedPreferences。

    public class MyApplication extends Application {    
        @Override
        public void onCreate() {
        SharedPreferences settings = getSharedPreferences("MyPrefs", MODE_PRIVATE);
        Boolean firstRun = settings.getBoolean("firstRun",true);
         if(firstRun){
            //insert your data into the shared preferences here
            SharedPreferences.Editor editor = settings.edit();
            editor.putBoolean("firstRun", false);
            editor.commit();
        }


        }
}

AnroidManifest.xml

    <application android:icon="@drawable/ic_launcher"
                     android:label="@string/app_name"                     
                     android:name=".MyApplication">
...
</application>
于 2012-12-04T11:42:51.387 回答