一、复制工具类(直接整个类复制过去)
public class SharedPreferencesUtil {
/**
* 保存在手机里面的文件名
*/
private static final String FILE_NAME = "share_date";
/**
* 保存数据的方法,我们需要拿到保存数据的具体类型,然后根据类型调用不同的保存方法
* @param context
* @param key
* @param object
*/
public static void setParam(Context context, String key, Object object) {
String type = object.getClass().getSimpleName();
SharedPreferences sp = context.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
if ("String".equals(type)) {
editor.putString(key, (String) object);
} else if ("Integer".equals(type)) {
editor.putInt(key, (Integer) object);
} else if ("Boolean".equals(type)) {
editor.putBoolean(key, (Boolean) object);
} else if ("Float".equals(type)) {
editor.putFloat(key, (Float) object);
} else if ("Long".equals(type)) {
editor.putLong(key, (Long) object);
}
editor.commit();
}
/**
* 得到保存数据的方法,我们根据默认值得到保存的数据的具体类型,然后调用相对于的方法获取值
*
* @param context
* @param key
* @param defaultObject
* @return
*/
public static Object getParam(Context context, String key, Object defaultObject) {
String type = defaultObject.getClass().getSimpleName();
SharedPreferences sp = context.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);
if ("String".equals(type)) {
return sp.getString(key, (String) defaultObject);
} else if ("Integer".equals(type)) {
return sp.getInt(key, (Integer) defaultObject);
} else if ("Boolean".equals(type)) {
return sp.getBoolean(key, (Boolean) defaultObject);
} else if ("Float".equals(type)) {
return sp.getFloat(key, (Float) defaultObject);
} else if ("Long".equals(type)) {
return sp.getLong(key, (Long) defaultObject);
}
return null;
}
}
二、在引导页里设置
private void initView() {
iv_splash = (ImageView) findViewById(R.id.iv_splash);
boolean k = (boolean) SharedPreferencesUtil.getParam(this, "key", false);//设置第一次进入为false
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(3000);
if(k==true){
//如果为ture就说明不是第一次进入,就直接跳到MainActivity页面
Intent intent = new Intent(SplashActivity.this, MainActivity.class);
startActivity(intent);
}else {
//如果为false就跳到Vp页面
Intent intent = new Intent(SplashActivity.this, VpActivity.class);
startActivity(intent);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
}
三、在Vp页面中的点击事件里设置
@OnClick(R.id.btn_guild)
public void onViewClicked() {
//因为为false跳到了当前Vp页面,所以就变为了true
SharedPreferencesUtil.setParam(this, "key", true);
Intent intent = new Intent(VpActivity.this, MainActivity.class);
startActivity(intent);
}
网友评论