总结一下吧,最近一直在搞后台数据接口,需要加一个判断,也可以说是一个值,每次获取数据时,需要带上这个值,以判断用户是否登录,我的解决思路是:
在登录时获取那个对应的值,比如说is_load;然后每次申请的时候就加入这个值进去进行判断,但是问题来了,很多地方都要用的,而且你APP关闭之后也是需要保存你的登录状态的,你总不能每次打开都登录吧,然后就去咨询了一个同学,他告诉我的方法是:
使用sharepreference进行缓存
你可以去百度这个方法,不过我这边有一个不错的,链接放下面了
http://blog.csdn.net/wulianghuan/article/details/8501063
简单易懂,讲的十分详细。我大概说一下我使用的方式吧
第一步:登录之后的位置,也就是你的登录按钮里面写上这个(data 就是你自己需要的那个变量,随意起个名字吧)
//获取token值并存入 SharedPreferences sharedPreferences = getSharedPreferences("logkey", Context.MODE_PRIVATE); //私有数据 SharedPreferences.Editor editor = sharedPreferences.edit();//获取编辑器 editor.putString("is_load", data); editor.commit();//提交修改表示建立了一个logke.xml的文件,此文件一直存在,可以随时用上面的方法修改
第二步:在需要的地方提取该值
SharedPreferences share=getSharedPreferences("logkey",getApplication().MODE_WORLD_READABLE); String aaa=share.getString("token",null);以上两步就完成了存入和取出,存入和修改的方法是一样的,有了这两步,你可以在任意一个位置来获取你的这个值
然后就是退出登录的时候别忘了,给你的那个数据变为null;否则,你依旧会处于登录状态。即使你点了退出登录
SharedPreferences sharedPreferences = getSharedPreferences("logkey", Context.MODE_PRIVATE); //私有数据 SharedPreferences.Editor editor = sharedPreferences.edit();//获取编辑器 editor.putString("is_load", null); editor.commit();//提交修改以上就是全部的内容了,简单实用,适合做判断一类的数据存储