Android环境搭建 Android编码规范 Android网络编程 Android数据储存

用户偏好之保存数据


上一节我们的业务逻辑已经写完了,现在要在代码的基础上来增加sharedPreferences的一种应用。就是说在第一次跳转的过程中,把用户名和密码保存起来,下一次在启动这个应用的时候,这个用户名和密码显示在登陆页面的EditText这个控件中。


android1.png 

 

打开MainActivity.java,说一下关于sharedPreferences的使用。针对用户偏好,关于存储的过程;

使用sharedPreferences要先获取对象,也是我们在保存数据的时候,需要做一个事情。


android2.png 

获取sharedPreferences对象的方法,跟其它方法初始化也比较相似的。

比如我们声明一个叫做SharedPreferences起一个名字SharedPreferences;


android3.png 

private SharedPreferences SharedPreferences;

它的一个初始化,在下面来写一下。

在SharedPreferences中有一个方法getSharedPreferences,通过我们当前上下文对象可以调用getSharedPreferences来拿到这个用户偏好对象。


android4.png 

SharedPreferences=getSharedPreferences()

这里面要传入那些值,提示里面有String类型的name,int类型的mode。这个那么表示我们保存的一个文件名。首先我们起一个名字,这个文件名起一个文件名“login”;不需要加后缀名。因为SharedPreferences它的默认保存类型是一个XML文件,接下来在传入mode,有几种取值方式。


android5.png 

SharedPreferences=getSharedPreferences(“login”,);

SharedPreferences当中经常会使用到的一种操作形式叫做MODE_PRIVATE。


android6.png


它表示我们本应用当中,可以去读取它,并且去操作它,同样的也可以操作MODE_APPEND,它表示是在文件的末尾做一个追加。


android7.png 


SharedPreferences=getSharedPreferences(“login”,MODE_PRIVTE);

加上注释,//参数一表示存储的文件名,参数二表示操作文件的模式。经常使用MODE_PRIVTE。


android8.png 


//参数一:表示存储的文件名,参数二:表示操作文件的模式。经常使用MODE_PRIVTE。

SharedPreferences=getSharedPreferences(“login”,MODE_PRIVTE);

MODE_PRIVTE它有一个值就是0;


android9.png 

这是我们当前存储的值。我们有了SharedPreferences对象,也就相当于,第一步针对SharedPreferences进行初始化,当然这种初始化方式,是直接使用上下文对象。调用它的getSharedPreferences。接下来我们想要保存,保存的过程实现方法。


android10.png 


获取EditText对象,这个EditText对象就是用来,保存数据的一个对对象。

获取EditText对象的方法:

例:我们在login按钮点击啊的时候,实现用户名和密码的保存。然后点击密码的时候,它是执行onClick的一个事件


android11.png 


然后先在这里面获取一下SharedPreferences调用它的一个方法叫做edit()方法,拿到edit()方法它的返回值就是当前SharedPreferences的edit()对象。


android12.png 


然后我们叫它edit(),我们这个可以使用包名的导入进行操作。


android13.png 


在上面进行导包的操作,import android.concent. SharedPreferences.EditText;


android14.png 


这样就获取了EditText对象。


android15.png 

获得了EditText对象之后,就可以进行数据的保存。当我们获取了用户名和密码之后,我们来保存下数据。


保存数据方法:


例:使用当前editor对象调用put方法,put方法它是以键值对的形式


android16.png 


进行保存的,这里能put的类型是有限的。可以put包的类型,int,long,String,StringSet,这时候来保存的数据类型,进一步能验证保存的是一些简单的配置信息。因为它支持的用户类型是有限的。


android17.png 


接下来来调用它的editor.putString()类型,第一个保存它的用户名,这个用户名起一个“user”,value值也是用用户获取的user的对象来进行保存。


android18.png 


然后需要保存下当前的密码,继续调用editor.putString();密码给它起个别名“pass”它所对应的value值,就是获取到的pass值。

还需要最后一步保存用户名密码。

调用commit方法进行提交,这个commit方法就相当于提交到文件当中。所以editor需要调用它的commit方法来提交数据。


android19.png 


第三步调用commit方法提交数据,这样我们就可以数据的存储。详见下一节



【本文由麦子学院独家原创,转载请注明出处并保留原文链接】

logo
© 2012-2016 www.maiziedu.com
蜀ICP备13014270号-4 Version 5.0.0 release20160127

麦子大聚惠,豪华礼包你领了吗?

客服热线 400-862-8862

回到顶部