getSharedPerference(偏好设置文件名称,Mode);
一般Mode的取值Contex.Mode_PRIVATE
2)Activity类中定义了一个方法:
getPreference(Mode);
用这种方式获取的偏好设置文件的名字与调用该方法的Activity的类名一致
3)PreferenceManager类中有一个方法getDefaultSharedPreference(context);
用这种方式获取的偏好设置文件的名字与项目包名一致,Mode默认使用MODE_PRIVATE
的方式
存/取偏好设置文件中的值
取值:获得偏好设置文件后,使用getXXX(key,default);
存值:获得偏好设置文件后,使用edit()方法获得一个偏好设置文件编辑器Editor对象。通过Editor对象的putXXX(key,value);
put完毕后,必须要调用Editor的commit方法进行提交,才能够正确保存。
例子:
public class SPUtil {
public static Editor editor;
public SharedPreferences sp;
public SPUtil(Context context,String name){
sp = context.getSharedPreferences(name, Context.MODE_PRIVATE);
editor = sp.edit();
}
public SPUtil(Context context){
sp = PreferenceManager.getDefaultSharedPreferences(context);
editor = sp.edit();
}
public boolean isFirstRun(){
return sp.getBoolean("firstrun", true);
}
public void setFirstRun(boolean flag){
editor.putBoolean("firstrun", flag);
editor.commit();
}
}
在另一个类中调用:
public class SplashActivity extends Activity {
SPUtil spUtil;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
spUtil = new SPUtil(this);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//界面跳转
if(spUtil.isFirstRun()){
spUtil.setFirstRun(false);
Intent intent = new Intent(SplashActivity.this,GuideActivity.class);
startActivity(intent);
finish();
}else{
Intent intent = new Intent(SplashActivity.this,MainActivity.class);
startActivity(intent);
finish();
}
}
}, 2000);
}
}