Android使用Shareprefences模板

Android快速使用Shareprefences

调用SharePrefence都是分几步走的

1.获取一个实例
   
   
  1. SharedPreferences sharedPreferences = getSharedPreferences("share_file",MODE_PRIVATE);
2.设置编辑器
   
   
  1. SharedPreferences.Editor editor=sp.edit();
3.存入数据
   
   
  1. editor.putString("username", "root");
4.提交数据
   
   
  1. editor.commit();
这样基本上就完成了


1.   SharePrefence是用来保存少量数据的方式,如保存程序配置信息,
具体例子:判断是否第一次打开应用,是的话可以可以跳转到引导页面,不是的话可以跳转到活动页面
   
   
  1. /
  2. * 欢迎界面
  3. * 1.在开始界面停留三秒
  4. * 2.然后判断是否第一次打开页面
  5. * 2.1第一次打开就打开新手引导页面
  6. * 2.2不是第一次打开则直接跳转到主界面
  7. /
  8. public class StartActivity extends Activity {
  9. private SharedPreferences sp;
  10. private Intent intent;
  11. @Override
  12. protected void onCreate(Bundle savedInstanceState) {
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.activity_weclome);
  15. new Handler().postDelayed(new Runnable() {
  16. @Override
  17. public void run() {
  18. intent = new Intent();
  19. sp = getSharedPreferences("config", MODE_PRIVATE);
  20. Boolean Tag = false;
  21. if (Tag == sp.contains("first")) {
  22. intent.setClass(StartActivity.this, ImageActivity.class);
  23. } else {
  24. intent.setClass(StartActivity.this, LoreActivity.class);
  25. }
  26. sp.edit().putBoolean("first", true).commit();
  27. startActivity(intent);
  28. finish();
  29. }
  30. }, 3000);
  31. }
  32. }

具体用法

   
   
  1. package android.content;
  2. import java.util.Map;
  3. import java.util.Set;
  4. public interface SharedPreferences {
  5. public interface OnSharedPreferenceChangeListener {
  6. /监听Shareprefences变化,当key变化时,做处理/
  7. void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key);
  8. }
  9. public interface Editor {
  10. /用于存储数据的方法/
  11. Editor putString(String key, String value);
  12. Editor putStringSet(String key, Set<String> values);
  13. Editor putInt(String key, int value);
  14. Editor putLong(String key, long value);
  15. Editor putFloat(String key, float value);
  16. Editor putBoolean(String key, boolean value);
  17. /移除某一项/
  18. Editor remove(String key);
  19. /清空的方法/
  20. Editor clear();
  21. /同步保存更改的方法/
  22. boolean commit();
  23. /异步保存到磁盘,原子提交,性能更高,不保证结果/
  24. void apply();
  25. }
  26. /获取所有的键值对/
  27. Map<String, ?> getAll();
  28. /取值的方法/
  29. String getString(String key, String defValue);
  30. Set<String> getStringSet(String key, Set<String> defValues);
  31. int getInt(String key, int defValue);
  32. long getLong(String key, long defValue);
  33. float getFloat(String key, float defValue);
  34. boolean getBoolean(String key, boolean defValue);
  35. /判断是否包含某个key*/
  36. boolean contains(String key);
  37. /编辑接口/
  38. Editor edit();
  39. /注册监听函数/
  40. void registerOnSharedPreferenceChangeListener(OnSharedPreferenceChangeListener listener);
  41. /注销监听函数/
  42. void unregisterOnSharedPreferenceChangeListener(OnSharedPreferenceChangeListener listener);
  43. }

Shareprefences是一个接口,提供了保存和读取数据的方法。同时可以看出Shareprefences只能存储基本数据,它的Key只能是String。 

使用方法示例

  
  
  1. SharedPreferences sp=this.getPreferences(MODE_PRIVATE);
  2. SharedPreferences.Editor editor=sp.edit();
  3. editor.putString("username", "root");
  4. editor.commit();
  5. 或者
  6. SharedPreferences sp=getPreferences(this,MODE_PRIVATE);
  7. SharedPreferences.Editor editor=sp.edit();
  8. editor.putString("username", "root");
  9. editor.commit();

  支持模式
  • MODE_PRIVATE:只支持本程序读写
  • MODE_WORLD_READABLE:允许其它应用程序读
  • MODE_WORLD_WRITEABLE :允许其它应用程序写
读取数据方式

   
   
  1. SharedPreferences sp=this.getPreferences(MODE_PRIVATE);
  2. String username=sp.getString("username", "error");
  3. 第二个参数为默认参数,即当sp中不存在username时,返回的字符串。

创建SharedPreferences例子2:
   
   
  1. public class MainActivity extends AppCompatActivity {
  2. @Override
  3. protected void onCreate(Bundle savedInstanceState) {
  4. super.onCreate(savedInstanceState);
  5. setContentView(R.layout.activity_main);
  6. }

  7. public void sharePreferences(View view) {//这个是在button里面设置onClick方法
  8. /
  9. * 创建Sharedpreference
  10. /
  11. SharedPreferences sharedPreferences=getSharedPreferences("share_file",MODE_PRIVATE);
  12. /
  13. 创建编辑器
  14. /
  15. sharedPreferences.edit().putString("name","林哈哈").commit();
  16. /
  17. 创建集合对象
  18. */
  19. Set<String> set=new HashSet<>();
  20. set.add("东方不败");
  21. set.add("林青霞");
  22. set.add("令狐冲");
  23. set.add("叶孤城");
  24. sharedPreferences.edit().putStringSet("set",set).commit();
  25. }
  26. }
创建成功后可以再手机data/data/目录所在包名下创建 会创建一个shared_prefs文件夹,下面会有一个share_file.xml文件

打开如下
   
   
  1. <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
  2. <map>
  3. <set name="set">
  4. <string>令狐冲</string>
  5. <string>林青霞</string>
  6. <string>叶孤城</string>
  7. <string>东方不败</string>
  8. </set>
  9. <string name="name">林哈哈</string>
  10. </map>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值