我想创建一个屏幕,在应用程序启动后仅显示一次。之后,它只会显示主屏幕。我实现这个的方式只是检查首选项,并根据标志设置当前布局。以这种方式实施它有什么缺点吗?有没有更好的办法?如何使用Android偏好创建一次性欢迎屏幕?
@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
}
}
您的解决方案是合理的。唯一可能需要更改的是还要存储应用程序的版本。当用户从旧版本升级时,可能需要再次显示欢迎屏幕。但是,在更新期间不会擦除首选项,因此您当前的解决方案不处理该情况。 – Timo