在哪里将数据写入SharedPreferences?

时间:2012-12-04 11:29:23

标签: android sharedpreferences startup

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

此外,第一项活动可以检查此SharedPreferences数据,以了解该应用程序是否已首次启动。

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

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

3 个答案:

答案 0 :(得分:0)

如果应用程序之前已经运行过,你可以做的是创建一个sharedPrefs布尔值。将其设置为false,如果它是假的,则执行您想要的代码。然后,当应用程序最终运行并完成代码时,将布尔值设置为true。

答案 1 :(得分:0)

如果我理解你想要做的事情是非常直截了当的。 在主活动的onCreate中放置一个布尔变量。 并将其设置为false(初始值为true),以便您知道它是否是您的应用第一次运行

答案 2 :(得分: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>