2010-08-31 55 views
7

任何人都可以请我清除Android中的SharedPreferences。 当活动最初在应用程序中加载时,如何才能设置仅显示一次“警报消息”的条件?Android中的SharedPreferences是什么?

它是如何通过使用SharedPreferences完成的?

Thsnks, 约翰

回答

6

这是完全巧合,我发誓,我今天blogged about this :)

SharedPreferences settings = this.getSharedPreferences("MyApp",0); 
boolean firstrun=settings.getBoolean("firstrun",true); 
if (firstrun) { 
    SharedPreferences.Editor e = settings.edit(); 
    e.putBoolean("firstrun",false); 
    e.commit(); 
    // Do something here that you only want to happen the first time 
} 
+0

你好的vmlinuz非常感谢你回答,我真的有一个很好的简单说明regardiing我下一步应该怎么做。只是有一个疑问:“你能告诉我什么(”MyApp“,0)在第一行意味着什么? 谢谢, david – 2010-09-01 05:36:00

+0

大卫(或约翰?),”MyApp“是一个任意的文件名 - 你可以为一个应用程序提供多个首选项文件,并且该文件可以同时被应用程序的多个部分使用,因此文件名是一个标识符。0是该文件的模式,您可能只想把它留在0 ... – vmlinuz 2010-09-01 11:38:13

+0

感谢vmlinuz的解释 – 2010-09-06 12:22:07

1
SharedPreferences sp = context.getSharedPreferences("myApp",0); 
boolean showAlert = sp.getBoolean("Alert",true); //defaults to true if no value set 
//Show alert if true 
sp.setBoolean("Alert",false); //set to false 
1

如果只想当应用程序被安装,你可以使用下面的与上面的代码一起一次创建对话框。这将首次设置,并且所有后续时间不会被加载。

/* Loading default preferences the first time application is run */ 
     PreferenceManager.setDefaultValues(getApplicationContext(), 
       R.xml.preference, false); 

你可以设置你的preference.xml一个布尔值,使其在的onCreate()假,从而不会再重复AlertDialog。