市面上好多优秀的应用(举例新浪微博、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存储变量的方法不仅可以使用与欢迎页面与使用向导,可以随意在程序任何位置使用,用来存储应用退出之后也要记录的某些关键变量或值

posted on 2016-11-29 14:38  程序媛Kasey  阅读(132)  评论(0)    收藏  举报