SharedPreferences的简单应用


关于SharePreferences的原理我在此不做赘述(有道云笔记里有写),这里重点分析如果实现首次进入app和之后进入app的页面不同的效果

一.代码

    public class WeocomActivity extends AppCompatActivity {
    TextView tv;
    int count=5;
    Handler handler=new Handler(){
        @SuppressLint("HandlerLeak")
        @Override
        public void handleMessage(@NonNull Message msg) {
            if(msg.what==1)
            {
            count--;
            if(count==0){
                //判断是否是第一次进入此应用,如果是第一次进入此应用,跳到引导界面
                boolean isfirst=first_pref.getBoolean("isfirst",true);
                Intent intent=new Intent();
                if(isfirst){
                  intent.setClass(WeocomActivity.this, GuideActivity.class);
                  //为了下一次不跳转更改值
                   SharedPreferences.Editor editor=first_pref.edit();
                   editor.putBoolean("isfirst",false);
                   editor.commit();
                }else{
                    intent.setClass(WeocomActivity.this,MainActivity.class);
                }
                startActivity(intent);
                finish();
            }else {
                tv.setText(String.valueOf(count));
                handler.sendEmptyMessageDelayed(1,800);
            }
        }
    }
    };
    private SharedPreferences first_pref;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_weocom);
        tv=findViewById(R.id.welcome_tv);
        first_pref = getSharedPreferences("first_pref", MODE_PRIVATE);
        handler.sendEmptyMessageDelayed(1,800);

    }}

二.分析

1.利用getSharepreference 创建对象,然后第一个参数是一个标指key,第二个参数的模式,MODE_PRIVATE表示被本应用读写
2.在HandleMessage用getXXX来给isfirst进行赋值

boolean isfirst=first_pref.getBoolean("isfirst",true);

然后写一个判断,创建一个editor对象来更改数据源

 SharedPreferences.Editor editor=first_pref.edit();
                    editor.putBoolean("isfirst",false);
                    editor.commit();

三.后续

利用ViewPager写第一次进入的跳转页面(略)


文章作者: 灿若星河
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 灿若星河 !
评论
  目录