博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SharedPreferences(转)
阅读量:5169 次
发布时间:2019-06-13

本文共 2172 字,大约阅读时间需要 7 分钟。

[功能]

大家在android开发中 一点有这样的需求 就是需要保存一下与该程序有关的属性设置的问题

比如:window xp 中 <假设系统盘为 C:/> 的位置为: C:\Program Files

 

那么在android中是怎样呢? 那就是:SharedPreferences

 

 

既然它是用来保存数据的 那么一点下面问题:

1. 如何创建

2. 如何加入数据

3. 如何取出数据

 

 

因为 很多程序都有这个需要 所以自己把该功能集成并列出一些接口函数 以后用的话 会方便很多 这个类名为:SharedPreferencesHelper

 

[代码]

1. 以指定名字来创建

 

Java代码
  
  1. SharedPreferences sp;  
  2.     SharedPreferences.Editor editor;  
  3.       
  4.     Context context;  
  5.       
  6.     public SharedPreferencesHelper(Context c,String name){  
  7.         context = c;  
  8.         sp = context.getSharedPreferences(name, 0);  
  9.         editor = sp.edit();  
  10.     }  

 

 

2. 以键值<String Key,String Value> 的方式加入数据

Java代码
  
  1. public void putValue(String key, String value){  
  2.         editor = sp.edit();  
  3.         editor.putString(key, value);  
  4.         editor.commit();  
  5.     }  

 

 

 

3. 以 String Key 为索引来取出数据

Java代码
  
  1. public String getValue(String key){  
  2.         return sp.getString(key, null);  
  3.     }  

 

 

 

 

4. 如何使用 SharedPreferencesHelper

Java代码
  
  1. package com.android.SharedPreferences;  
Java代码
  
  1. import android.app.Activity;  
  2. import android.os.Bundle;  
  3. import android.widget.TextView;  
Java代码
  
  1. /* 
  2.  * to access from: data/data/com.android.SharedPreferences/share_prefs 
  3.  */  
  4. public class SharedPreferencesUsage extends Activity {  
  5.  public final static String COLUMN_NAME ="name";  
  6.  public final static String COLUMN_MOBILE ="mobile";  
  7.    
  8.  SharedPreferencesHelper sp;  
  9.  /** Called when the activity is first created. */  
  10.     @Override  
  11.     public void onCreate(Bundle savedInstanceState) {  
  12.         super.onCreate(savedInstanceState);  
  13.         //setContentView(R.layout.main);  
  14.           
  15.         sp = new SharedPreferencesHelper(this, "contacts");  
  16.           
  17.         //1. to store some value  
  18.         sp.putValue(COLUMN_NAME, "Gryphone");  
  19.         sp.putValue(COLUMN_MOBILE, "123456789");  
  20.           
  21.           
  22.         //2. to fetch the value  
  23.         String name = sp.getValue(COLUMN_NAME);  
  24.         String mobile = sp.getValue(COLUMN_MOBILE);  
  25.           
  26.         TextView tv = new TextView(this);  
  27.         tv.setText("NAME:"+ name + "\n" + "MOBILE:" + mobile);  
  28.           
  29.         setContentView(tv);  
  30.     }  
  31. }  

 

 

 

5. 其他问题

* 文件存放路径: 因为我的这个例子的pack_name 为:package com.android.SharedPreferences;

  所以存放路径为:data/data/com.android.SharedPreferences/share_prefs/contacts.xml

* contacts.xml 的内容为:

Xml代码
  
  1. <?xml version='1.0' encoding='utf-8' standalone='yes' ?>  
  2. <map>  
  3. <string name="mobile">123456789</string>  
  4. <string name="name">Gryphone</string>  
  5. </map>  

 

 

* 取出的数据为:

 

  •  (23 KB)
  • 下载次数: 353

转载自:

转载于:https://www.cnblogs.com/YangBinChina/p/3998384.html

你可能感兴趣的文章
单片机编程
查看>>
Filter in Servlet
查看>>
Linux--SquashFS
查看>>
Application Pool Identities
查看>>
2017-3-24 开通博客园
查看>>
【MySQL性能优化】MySQL常见SQL错误用法
查看>>
Vue2全家桶之一:vue-cli(vue脚手架)超详细教程
查看>>
Struts 2 常用技术
查看>>
树形DP
查看>>
python flask解决上传下载的问题
查看>>
语法测试
查看>>
CES1
查看>>
CES2
查看>>
文件方式实现完整的英文词频统计实例
查看>>
ListControl的用法
查看>>
单个SWF文件loading加载详解(转)
查看>>
SQLServer中的CTE通用表表达式
查看>>
linux第1天 fork exec 守护进程
查看>>
Ajax原理学习
查看>>
最新最潮的24段魔尺立体几何玩法(2016版)
查看>>