博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据 的存储(1)使用SharedPreferences
阅读量:5903 次
发布时间:2019-06-19

本文共 2127 字,大约阅读时间需要 7 分钟。

hot3.png

数据 的存储(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();

                               }

                    });

转载于:https://my.oschina.net/chuiyuan/blog/263266

你可能感兴趣的文章
DW 正则
查看>>
抓屏原理
查看>>
UNIX网络编程读书笔记:TCP输出、UDP输出和SCTP输出
查看>>
扩展 DbUtility (1)
查看>>
iOS开发UI篇—使用picker View控件完成一个简单的选餐应用
查看>>
Apple Developer Registration and DUNS Number Not Accepted
查看>>
Hadoop学习笔记系列文章导航
查看>>
SpringMVC中ModelAndView addObject()设置的值jsp取不到的问题
查看>>
Prometheus : 入门
查看>>
使用 PowerShell 创建和修改 ExpressRoute 线路
查看>>
在C#中获取如PHP函数time()一样的时间戳
查看>>
Redis List数据类型
查看>>
大数据项目实践(四)——之Hive配置
查看>>
初学vue2.0-组件-文档理解笔记v1.0
查看>>
Centos7安装Gitlab10.0
查看>>
上传图片预览
查看>>
lagp,lacp详解
查看>>
LVS之DR模式原理与实践
查看>>
Docker的系统资源限制及验证
查看>>
c++ ios_base register_callback方法使用
查看>>