android中SharedPreferences实现存储用户名功能

  

<强> 1。简介

  

SharedPreferences是一种轻型的数据存储方式,通过键键值对的方式将数据存储在xml文件中,常用于存储简单的配置信息。

  

<强> 2。使用方式

  

<强> 2.1获取SharedPreferences对象

  

Android中可通过以下三种方式获取SharedPreferences对象:

  

2.2.1上下文类中的getSharedPreferences ()

  

接收两个参数,第一个参数指定存储数据的文件,若指定文件不存在,则新建该文件,存放目录为“/数据/数据/package_name/shared_prefs/?其中package_name为包名。

  

第二个参数则为操作模式,主要有两种:

  

<代码> MODE_PRIVATE>   

<代码> MODE_MULTI_PROCESS>   2.2.2

活动类中的getPreferences ()

  

这个方法与上一个方法比较相似,不同之处在于它只接收一个参数,用于指定操作模式,而无需指定文件名,这个方法默认将当前活动的类名作为存储数据的文件名。

  

2.2.3 PreferenceManager类中的getDefaultSharedPreferences ()

  

这是一个静态方法,接收一个上下文参数,使用当前应用程序的包名作为存储数据的文件名。

  

<强> 2.2获取SharedPreferences.Editor对象

  

SharedPreferences对象本身是只可以读取而不能保存数据的,需要保存数据则要调用SharedPreferences对象的编辑()方法获取一个编辑器对象。

  

<强> 2.3通过putXxx方法存储数据

  

得到编辑器对象后,则可调用它的putXxx方法添加数据,这里的Xxx指的是添加的数据类型,例如存储字符串数据则调用putString()方法。这个方法接收两个参数,第一个参数为键值,第二个参数为数据的值,即一个键值对。

  

<强> 2.4提交变化

  

添加或移除(删除方法)数据后,需要调用编辑器对象的commit()方法将所作变化提交。

  

<强> 2.5获取存储的数据

  

获取已经存储的数据较为简单,直接调用SharedPreferences对象的getXxx方法即可,使用方法与编辑对象的putXxx类似。这个方法也是接收两个参数,第一个参数指定要获取的数据的键值,第二个参数指定当获取的数据不存在时所返回的默认值。

  

<强> 3。范例,实现保存用户名的功能

  

布局:
  

        & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt; LinearLayout xmlns: android=" http://schemas.android.com/apk/res/android "   xmlns:工具=" http://schemas.android.com/tools "   android: layout_width=" match_parent "   android: layout_height=" match_parent "   android:重力=" center_horizontal "   android:取向=按怪薄?   工具:上下文=癱om.studying.myapplication.MainActivity”比;      & lt; !——用户名——比;   LinearLayout & lt;   android: layout_width=" match_parent "   android: layout_height=" wrap_content "   面向android:="水平"比;      & lt; TextView   android: layout_width=" 0 dp”   android: layout_height=" wrap_content "   android: layout_weight=" 1 "   android:重力="中心"   android:文本="用户名“/比;      EditText & lt;   android: id=癅 + id/用户名”   android: layout_width=" 0 dp”   android: layout_height=" wrap_content "   android: layout_weight=" 4 "/比;   & lt;/LinearLayout>      & lt; !——密码——比;   LinearLayout & lt;   android: layout_width=" match_parent "   android: layout_height=" wrap_content "   面向android:="水平"比;      & lt; TextView   android: layout_width=" 0 dp”   android: layout_height=" wrap_content "   android: layout_weight=" 1 "   android:重力="中心"   android:文本="密码”/比;      EditText & lt;   android: id=癅 + id/passward”   android: layout_width=" 0 dp”   android: layout_height=" wrap_content "   android: layout_weight=" 4 "   android: inputType=" textPassword "/比;   & lt;/LinearLayout>      & lt; !——是否记住用户名——比;   & lt;复选框   android: id=癅 + id/记得”   android: layout_width=" wrap_content "   android: layout_height=" wrap_content "   android:检查=" false "   android:文本="记住用户名”/比;      & lt; !——登录——比;   & lt;按钮   android: id=癅 + id/登录”   android: layout_width=" 200 dp”   android: layout_height=" 35 dp”   android:文本="登录”   android: textSize=" 12 sp "/比;      & lt;/LinearLayout>      

android中SharedPreferences实现存储用户名功能