• SharedPreferences(转)


    [功能]

    大家在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 + " " + "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>  

    * 取出的数据为:

     

    转载自: http://www.iteye.com/topic/573212

  • 相关阅读:
    JS Function Arguments
    C# CuttingEdge.Conditions 验证帮助类库 文档翻译
    JS AngualrJs 指令
    每日踩坑 2018-06-19 AutoMapper简单性能测试
    C# 集合类-使用
    工具 EZDML表结构设计器
    unittest的discover方法
    转:unittest的几种运行方式
    unittest学习5-断言
    unittest学习4-跳过用例执行
  • 原文地址:https://www.cnblogs.com/YangBinChina/p/3998384.html
Copyright © 2020-2023  润新知