Android Preperences

Preperences 是一种应用程序内部轻量级的数据存储方案。Preferences主要用于存储和查询简单数据类型的数据,这些简单数据类型包括boolean、int、float、long以及 String 等,存储方式以键值对的形式存放在应用程序私有的文件夹下。
     
      Preferences 一般用来存储应用程序的设置信息,如应用程序的色彩方案、文字字体等。在应用程序中获取Preferences的方式有如下两种。
     
      调用Context 对象的 getSharedPreferences 方法获得SharedPreferences 对象。需要传入SharedPreferences 的名称和打开模式,名称为 Preferences 文件名称,如果不存在则创建一个以传入名称为名的新的 Preferences文件;打开模式为 PRIVATE、 MODE_WORLD_READABLE 和 MODE_WORLD_WRITEABLE 其中之一。
    
     调用Activity对象的 getPreferences 方法获得 SharedPreferences对象。需要传入打开模式,打开模式为 PRIVATE、 MODE_WORLD_READABLE 和 MODE_WORLD_WRITEABLE其中之一。
     两种获得SharedPreferences 对象的最大的不同就是通过 Context对象 的getSharedPreferences方法获得的对象可以被同一应用程序下的其他组件共享,而是用Activity对象 的getPreferences 方法获得的对象只能被调用该方法所在的Activity使用。

      SharedPreferences 对象中提供了一系列的 get 方法用于接收键返回对应的值。如果需要对Preferences 文件中存储的键值进行修改,首先需要调用 SharedPreferences的 edit 方法获得一个Editor 对象,该对象可以用来修改 Preferences 文件中存储的内容。下面通过一个小例子来说明 Preferences 的用法。

  先看一看运行效果 当我们第一次运行程序 没有任何数据。



  当我们在文本框输入 123456789 之后点击back--->按钮 然后再次启用应用程序 的时候就会发现 我们上次输入的值显示在了文本框上



下面我们来看代码吧
Java代码 复制代码  收藏代码
  1. package xiaohang.zhimeng;   
  2.   
  3. import android.app.Activity;   
  4. import android.content.SharedPreferences;   
  5. import android.os.Bundle;   
  6. import android.widget.EditText;   
  7.   
  8. public class Activity01 extends Activity {   
  9.      EditText etPre;   
  10.     //定义SharedPreferences对象   
  11.     SharedPreferences sp;   
  12.     //定义Preferences 文件中的键   
  13.     public final String EDIT_TEXT_KEY = "EDIT_TEXT";   
  14.        
  15.     @Override  
  16.     public void onCreate(Bundle savedInstanceState) {   
  17.         super.onCreate(savedInstanceState);   
  18.         setContentView(R.layout.main);   
  19.         etPre = (EditText)findViewById(R.id.et);   
  20.         sp = getPreferences(MODE_PRIVATE);   
  21.         String result = sp.getString(EDIT_TEXT_KEY, null);   
  22.         if (result != null) {   
  23.             etPre.setText(result);   
  24.         }   
  25.     }   
  26.           
  27.     @Override  
  28.     protected void onDestroy() {   
  29.         //获得SharedPreferences 的Editor对象   
  30.         SharedPreferences.Editor editor = sp.edit();   
  31.         //修改数据   
  32.         editor.putString(EDIT_TEXT_KEY, String.valueOf(etPre.getText()));   
  33.         editor.commit();   
  34.         super.onDestroy();   
  35.     }   
  36. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值