android数据存储(二)之SharedPreference存储

1.定义:SharedPrefences是使用键值对的方式来存储数据的。支持多种不同的数据类型存储。

2.将数据存储到SharedPreferences中

    2.1要使用SharedPreferences来存储数据,首先要获取到SharedPreferences对象,获取方式主要有三种

    1>Context类中的getSharedPreferences对象

        此方法接受两个参数,第一个参数用于指定SharedPreferences文件的名称,如果指定的文件不存在则创建一个

        SharedPreferences文件都存在/data/data/<package name>/shared_prefs/目录下的。第二个参数用于指定操作

        模式,目前只有一种模式可选,也是默认的操作模式。和直接传0是相同的,表示只有当前的程序才可以对这个

        SharedPreferences文件进行读写。

    2>Activity类中的getPrefences()

        只接收一个操作模式方法,因为此方法会自动将当前的活动的类名作为SharedPreferences的文件名。

    3>PreferenceManager类中的getDefaultPreferences()

        这是一个静态方法,它接受一个Context参数,并自动使用当前应用程序的包名作为前缀来命名SharedPreferences

        文件。

  2.2得到SharedPreferences对象之后,就可以向SharedPreferences文件中存储数据了,主要分为三步:

       1>调用SharedPreferences对象的edit()方法来获取一个SharedPreferences.Edit对象。

       2>向SharedPreferences.Editor对象中添加数据。

       3>调用apply()方法将添加的数据提交,从而完成数据存储操作。

  实例代码:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        Button btn=findViewById(R.id.btn);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                SharedPreferences.Editor editor=getSharedPreferences
                        ("data",MODE_PRIVATE).edit();
                editor.putString("name","Tom");
                editor.putInt("age",20);
                editor.putBoolean("married",false);
                editor.apply();
            }
        });
    }
}

3.从SharedPreferences中读取数据

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        Button btn=findViewById(R.id.btn);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                SharedPreferences pref=getSharedPreferences
                        ("data",MODE_PRIVATE);
                String name=pref.getString("name","");
                int age=pref.getInt("age",0);
                boolean married=pref.getBoolean("married",false);
            }
        });
    }
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值