安卓中的SharedPreferences可以用来保存一些很小的数据,比如一个应用的账户信息等,我们的QQ登录中记住账号和密码这个功能就是通过这个实现的。这里不讲简介这些,就记录一下怎么进行使用
实现步骤:
- 通过Context获取sharedPreferences对象
- 通过editor()方法获取Editor对象
- 通过Editor对象对键值对数据进行增加删除等操作
- 通过commit()方法提交数据
以上四个步骤,如果只是获取数据,只要第一步获取了sharedPreferences对象就可以通过调用方法获取数据了。后面三个步骤是储存、删除数据时需要实现的
先上简单的实现效果:
布局比较简单,略过了。
下面是java实现的代码
package com.contentprovide.liuliu.shard; import android.content.SharedPreferences; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends AppCompatActivity { Button save_btn,get_btn; EditText et; TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); save_btn = (Button) findViewById(R.id.save_btn); get_btn = (Button) findViewById(R.id.get_btn); et = (EditText) findViewById(R.id.et); tv = (TextView) findViewById(R.id.tv); save_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // 获取输入框里的内容 String s = et.getText().toString(); // 获取sharedPreferences对象 SharedPreferences sharedPreferences = MainActivity.this.getSharedPreferences("Myshard",MainActivity.this.MODE_PRIVATE); // 通过Editor对象对数据进行操作 SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString("usename",s); editor.commit(); } }); get_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String s = ""; SharedPreferences sharedPreferences = MainActivity.this.getSharedPreferences("Myshard",MainActivity.this.MODE_PRIVATE); // 获取数据因为不需要对数据进行更改,所以不需要Editor对象,可以用sharedPreferences进行获取 s = sharedPreferences.getString("usename","默认数据"); tv.setText(s); } }); } }
Shardprefences本身是个借口,所以无法直接创建对象, 只能通过Context提供的getSharedPrederences()方法来获取对象。
第一个参数是自定义的名字,第二个参数是是指明该SharedPrefences数据只能被本应用程序读写,还有另外两个模式因为不推荐使用,就不记录了
getSharedPreferences("Myshard",MainActivity.this.MODE_PRIVATE);
储存数据主要使用的方法:主要通过键值对的方法进行储存,第一个参数是key,第二个参数是需要储存的内容
putString("","");
putint("","");
pubBooean("","");
获取数据主要使用的方法:主要通过键值对的方法进行获取,第一个参数是key,第二个默认数据,在没有获取到数据的情况下显示该默认数据:
getString("","");
getint("","");
getBooean("","");