zoukankan      html  css  js  c++  java
  • Andorid存储方式----SharedPreferences存储

    SharedPreferences是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。

    保存路径为:data文件夹下对应的包文件下下,类型为xml文件。

    SharedPreferences存储比较简单,步骤如下:

      (1)获取SharedPreferences对象

      (2)利用edit()方法获取Editor对象。

      (3)通过Editor对象存储key-value键值对数据。

      (4)通过commit()方法提交数据。

    例子:

    public class MainActivity extends Activity {
        private EditText nameET;
    	private EditText phoneET;
    	private EditText emailET;
    	private SharedPreferences sp;
    
    	public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            nameET = (EditText) findViewById(R.id.nameET);
            phoneET = (EditText) findViewById(R.id.phoneET);
            emailET = (EditText) findViewById(R.id.emailET);
            
            //创建一个data.xml 模式为私有,data.xml在rom目录data/data/com.itcast.sp/.../data.xml下
            sp = getSharedPreferences("data", MODE_PRIVATE);	
            
            nameET.setText(sp.getString("name", ""));			// 获取数据, 若没有name值,则指定默认值""
            phoneET.setText(sp.getString("phone", ""));
            emailET.setText(sp.getString("email", ""));
        }
        //相应按钮,保存到xml文件中
        public void onClick(View view) {
        	String name = nameET.getText().toString();
        	String phone = phoneET.getText().toString();
        	String email = emailET.getText().toString();
        	
        	Editor editor = sp.edit();					// 获取编辑器
        	editor.putString("name", name);					// 存储数据(还没进入文件)
        	editor.putString("phone", phone);
        	editor.putString("email", email);
    		editor.commit(); 					// 提交修改(类似事务)
    	}
    }


    效果如图:



    程序关闭之后下次重新启动还是会显示这些数据,比如说编辑短信的时候突然来了个电话,打完电话返回短信界面我们需要继续编辑之前的内容,需要用到此方法。


  • 相关阅读:
    160-三个用户同时登录,是怎么实现多线程的?
    159-如何解决缓存穿透?
    158-为什么会引发缓存穿透?
    存储emoji表情,修改字符集为utf8mb4
    java相差小时数
    pom.xml解释
    前端 跨域
    java 获取的是本地的IP地址
    是否超时
    发送验证码
  • 原文地址:https://www.cnblogs.com/fzll/p/3954623.html
Copyright © 2011-2022 走看看