sharedpreferences可以做些什么呢 ?
我们在使用QQ或微信的时候,有没有发现这样一个功能:当我们第一次进入软件的时候,会跳转到登录、注册界面;而当我们在实现了这一步后再次进入软件,则不会出现此界面了,是不是感觉很方便呢。今天我们将要讲的sharedpreferences就可以实现此功能,除此之外,它还可以解决重复打卡,重复签到 的功能。
getSharedPreferences()方法
使用getSharedPreferences(String name,int mode)方法可以获取sharedpreferences对象,下面介绍一下此方法的两个参数的意思。
- name:为本组件的配置文件名( 自己定义,也就是一个文件名)。
- mode:为操作模式,有三种类型。
mode | 作用 |
---|---|
MODE_PRIVATE | 则该配置文件只能被自己的应用程序访问 |
MODE_WORLD_READABLE | 该配置文件除了自己访问外还可以被其它应该程序读取 |
MODE_WORLD_WRITEABLE | 该配置文件除了自己访问外还可以被其它应该程序读取和写入 |
自动登录的实现
public public class MainActivity extends Activity {
SharedPreferences share;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button login_button = (Button) this.findViewById(R.id.login);
ButtonListener bl = new ButtonListener(this);
login_button.setOnClickListener(bl);
FirstOrNot();
}
public void FirstOrNot(){
/**
* 得到SharePerferences对象
* getPreferences(String name,int mode)参数:
* name:为本组配置的文件名
* mode:为操作模式,具体自行查看
*/
share = getPreferences(MODE_WORLD_READABLE);
//得到登录程序的次数
int count = share.getInt("count", 0);
if(count>0){
//如果不是第一次登录,直接跳转到MenuActivity界面
Intent intent = new Intent();
intent.setClass(this, MenuActivity.class);
this.startActivity(intent);
}
Editor editor = share.edit(); //得到editor对象
editor.putInt("count", ++count); //修改数据
//提交修改
editor.commit();
}
}
```