数据 的存储(1)使用SharedPreferences
博客专区 > chuiyuan 的博客 > 博客详情
数据 的存储(1)使用SharedPreferences
chuiyuan 发表于3年前
数据 的存储(1)使用SharedPreferences
  • 发表于 3年前
  • 阅读 25
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   


数据 的存储(1)使用SharedPreferences

数据存储主要 有两个:本地存储,网络 存储,这里是本地存储。

本地存储三个方式:1,SharedPreferences ,  2.文件存储  3.SQLite存储。下面是SharedPreferences。、

 

1.什么是SharePreferences

(1)轻量级别的 , Activity级别的 ,可以被 这个 程序的所有 的Activity共享 。

(2)保存在android目录 中的/data/data/PACKAGE_NAME/shared_prefs下的XML文件中。

(3)和Map<key ,value>很像的方式保存。如

<map>

<stringname="String">SharedPreferences保存的数据</string>

</map>




2.使用SharedPreference保存数据 

      四个 个steps:获取SharedPreferences对象 ,创建 editor编辑器,修改内容 ,提交修改内容 。

(1)获取SharedPreferences对象

getSharedPreferences("Content",Context.MODE_PRIVATE) ;

第一个参数是TAG,文件名称 。

第二个是应用模式,这里表示 是私有文件,只能被 应用本身访问。写入的内容会覆盖原来的。

还有三个模式:

Context.MODE_APPEND 

Context.WORLD_READABLE:文件可以被 别的程序 读取

Context.WORLD_WRITABLE:  文件可以被 别的程序 写入。

(2) 创建一个Editor

      在sharedPreferences中编辑 信息,就要有editor。editor 提供 一些 方法,用来修改xml文件中的内容 。得到

Editor如下

SharedPreferences.editor();

(3)使用editor修改数据 

      editor.putString("String",data)                第一个参数 就是key.

创建 一个<string></string>节点 。

还有editor.clear()清除所有 的,editor.remove(),移除指定的。

(4)提交内容

将这个修改提交给SharedPreferences,以告诉 它将内容写入到xml中

editor.commit();

一定要提交 。在java中,map.put()后是不用提交 的,但是在android中要提交才行。

 

3.读取数据 

(1)得到SharedPreference对象 

同上,用

getSharedPreferences("Content",Context.MODE_PRIVATE) ;

(2)取出 key对应的值 

SharedPreferences.getString();

如name =sp.getString("name","");

这个 过程 中不用editor。

loginBtn.setOnClickListener(newOnClickListener(){

                               public voidonClick(View arg0) {

                                         // TODOAuto-generated method stub

                                         name =name_in.getText().toString();

                                         pass =pass_in.getText().toString();

                                        

                                         SharedPreferencessp = getSharedPreferences("Content",Context.MODE_PRIVATE);

                                         Editoreditor = sp.edit();

                                         editor.putString("name",name);

                                         editor.putString("pass",pass);

                                         editor.commit();

                                        

                                         Toast.makeText(getBaseContext(),"保存成功",Toast.LENGTH_SHORT).show();

                               }

                    });

                   

                    regBtn.setOnClickListener(newOnClickListener(){

                               public voidonClick(View arg0) {

                                         // TODOAuto-generated method stub

                                         SharedPreferencessp = getSharedPreferences("Content",Context.MODE_PRIVATE);

                                         Stringname =sp.getString("name", "");

                                         Stringpass = sp.getString("pass", "");

                                        

                                         name_in.setText(name);

                                         pass_in.setText(pass);

                                        

                                         Toast.makeText(getBaseContext(),"读取数据",Toast.LENGTH_SHORT).show();

                               }

                    });


共有 人打赏支持
粉丝 10
博文 91
码字总数 40993
×
chuiyuan
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: