一。原理:SharedPreferences是采用键值对对数据进行存储的,当存入数据时,给数据设置一个对应的键,取出数据时,就可以根据键获取到相应的数据。
二。步骤:
1.得到SharedPreferences对象;得到共享参数实例的方式有三种:
  1.Context.getSharedPreferences();
  2.Acitvity中:getPreferences();
  3.PreferenceManager.getDefaultSharedpreferences();
2.通过sharedpreference.edit()得到Sharedpreference.Edit对象;
3.存储时:用Sharedpreference.Edit的put()存储数据,然后用commit()提交数据。
  读取时,用Sharreoreferences的get()读取数据。
三。存储路径:data/data/包名/shared-prefs下,以XML文件的形式存储。

四。具体实例:
package com.example.testsharepreference;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends Activity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }


    /**
     *保存数据

 

     */

 

    public void saveData(View view){
    SharedPreferences share=null;
    //得到SharePreferences对象,第一个参数:指定文件名,第二个参数:操作模式
    share=getSharedPreferences("data", MODE_PRIVATE);
    //得到SharedPreferen.Edit对象

    SharedPreferences.Editor edit=share.edit();
    //用edit存储数据
    edit.putString("name", "张三");
    edit.putInt("age", 20);
    edit.putBoolean("男的?", true);
    //提交数据,存储完成

    edit.commit();
    Toast.makeText(this, "数据存储完成", Toast.LENGTH_LONG).show();
    }


    /**
     *读取数据
     */
    public void getData(View view){
    SharedPreferences share_get=null;
    share_get=getSharedPreferences("data", MODE_PRIVATE);
    //根据键获取数据,第二个参数为默认值,若没有指定的键,则返回默认值
    boolean isMan=share_get.getBoolean("男的?", false);
    int age=share_get.getInt("age", 0);
    String name=share_get.getString("name", null);

    Toast.makeText(this, name+String.valueOf(isMan)+String.valueOf(age),Toast.LENGTH_LONG).show();
    }

 

}

五。运行效果如下:

 

更多相关文章

  1. SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
  2. 一句话锁定MySQL数据占用元凶
  3. 移动架构39_RxAndroid二(变换调用:map、flatMap、lift、compose)
  4. Android(安卓)实现通知栏显示多个notification
  5. android Bundle saveInsanceState
  6. android文件存储的五种方式简介
  7. ActionBar简单使用介绍和Tab切换的应用
  8. Android(安卓)SQLite总结(一)
  9. Android(安卓)Parcelable理解与使用(对象序列化)

随机推荐

  1. 说不懂Android系统构架,太亏了!
  2. android log 学习
  3. 有关Android调用服务全解析
  4. Android 之ndk开发
  5. Android的文件系统
  6. 解决Android(安卓)Studio 无法在线更新的
  7. Android实时直播,一千行java搞定不依赖jni
  8. android平台搭建详情
  9. Android之——模拟实现检测心率变化的应
  10. Android调Ajax和动态添加JS中的token(And