【发布时间】:2012-09-13 02:49:06
【问题描述】:
我想创建一个仅在应用程序启动后显示一次的屏幕。之后,它将只显示主屏幕。我实现这一点的方式只是检查首选项并根据标志设置当前布局。以这种方式实施它有什么缺点吗?有没有更好的办法?
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Here is the main layout
setContentView(R.layout.main);
mPrefs = PreferenceManager.getDefaultSharedPreferences(this);
// second argument is the default to use if the preference can't be found
Boolean welcomeScreenShown = mPrefs.getBoolean(welcomeScreenShownPref, false);
if (!welcomeScreenShown) {
//Here I set the one-time layout
setContentView(R.layout.popup_message);
SharedPreferences.Editor editor = mPrefs.edit();
editor.putBoolean(welcomeScreenShownPref, true);
editor.commit(); // Very important to save the preference
}
}
【问题讨论】:
-
你的解决方案是合理的。您可能想要更改的唯一一件事是同时存储您的应用程序的版本。当用户从旧版本升级时,您可能希望再次显示欢迎屏幕。但是,在更新期间不会清除首选项,因此您当前的解决方案无法处理这种情况。
标签: android version sharedpreferences