市面上好多优秀的应用(举例新浪微博、UC浏览器)都采用了欢迎页面与使用向导的方式给用户带来了良好的用户体验。
用户没有安装新版本或者不是第一次进入的时候都会显示成 欢迎页面-主界面的方式
那么我们就来看看实现这种变量存储和修改的步骤吧
2、定义SharedPreferences对象,并通过该对象获取文件中isFirstIn键(key)对应的值(value),这里默认为true,因为第一次进入应用时我们并没有创建该文件和该变量
4、假如GuideActivity1是最后一个使用向导页,我们要在GuideActivity1结束之后默认跳转到MainActivity里,那么我们需要在跳转之前改变一下isFirstIn值为false,并存到文件里,这样下次进入应用时Splash可以从文件里获取值为false的isFirstIn值,这样就可以通过分支直接跳转到MainActivity了
下面关键部分的代码
Splash.Java
1 boolean isFirstIn = false; 2 //onCreate中 3 SharedPreferences preferences = getSharedPreferences("first_pref", 4 MODE_PRIVATE); 5 isFirstIn = preferences.getBoolean("isFirstIn", true); 6 new Handler().postDelayed(new Runnable() { 7 @Override 8 public void run() { 9 if (isFirstIn) { 10 // start guideactivity1 11 intent = new Intent(Splash.this, GuideActivity1.class); 12 } else { 13 // start TVDirectActivity 14 intent = new Intent(Splash.this, TVDirectActivity.class); 15 } 16 Splash.this.startActivity(intent); 17 Splash.this.finish(); 18 } 19 }, SPLASH_DISPLAY_LENGHT);
GuideActivity1.java 在引导页面结束前一定要修改SharedPreferences里边的值,这样第二次进入的话才会跳转到主页面,不进引导页。
1 SharedPreferences preferences = getSharedPreferences( 2 "first_pref", MODE_PRIVATE); 3 Editor editor = preferences.edit(); 4 editor.putBoolean("isFirstIn", false); 5 editor.commit();
最后可以在应用包名底下shared_prefs文件夹下找到我们在应用里定义的first_pref.xml文件,打开可以看到里面
这种使用SharedPreferences存储变量的方法不仅可以使用与欢迎页面与使用向导,可以随意在程序任何位置使用,用来存储应用退出之后也要记录的某些关键变量或值
浙公网安备 33010602011771号