Chinaunix首页 | 论坛 | 博客
  • 博客访问: 236749
  • 博文数量: 54
  • 博客积分: 2656
  • 博客等级: 少校
  • 技术积分: 1020
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-19 21:06
文章分类

全部博文(54)

文章存档

2016年(3)

2014年(8)

2013年(4)

2012年(2)

2011年(29)

2010年(8)

我的朋友

分类: Java

2011-03-09 11:21:41

SharedPreferences介绍:
 
    使用SharedPreferences保存key-value对的步骤如下:

  (1)使用Activity类的getSharedPreferences方法获得SharedPreferences对象,其中存储key-value的文件的名称由getSharedPreferences方法的第一个参数指定。

  (2)使用SharedPreferences接口的edit获得SharedPreferences.Editor对象。

  (3)通过SharedPreferences.Editor接口的putXxx方法保存key-value对。其中Xxx表示不同的数据类型。例如:字符串类型的value需要用putString方法。

  (4)通过SharedPreferences.Editor接口的commit方法保存key-value对。commit方法相当于数据库事务中的提交(commit)操作。

具体的存入和获取操作,我已经把代码贴出来了,你们可以看一下:

package org.sharedPreferences.test;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.RadioGroup;
public class ShaPreTestActivity extends Activity{
    /** Called when the activity is first created. */
    private final String PREFERENCES_NAME="survey";
    private EditText etName;
    private EditText etAge;
    private RadioGroup sex;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        etName = (EditText)findViewById(R.id.name);
        etAge = (EditText)findViewById(R.id.age);
        sex = (RadioGroup)findViewById(R.id.sex);

        SharedPreferences preferences = getSharedPreferences(PREFERENCES_NAME, Activity.MODE_PRIVATE);
        etName.setText(preferences.getString("name", ""));
        etAge.setText(preferences.getString("age", ""));
        sex.check(preferences.getInt("sex", -1));
    }

    @Override
    protected void onStop() {
        //获得SharedPreferences对象

        SharedPreferences MyPreferences = getSharedPreferences(PREFERENCES_NAME, Activity.MODE_PRIVATE);
        //获得SharedPreferences.Editor

        SharedPreferences.Editor editor = MyPreferences.edit();
        //保存组件中的值

        editor.putString("name", etName.getText().toString());
        editor.putString("age", etAge.getText().toString());
        editor.putInt("sex", sex.getCheckedRadioButtonId());
        //提交保存的结果

        editor.commit();
        super.onStop();
    }
}

 

代码写好后,你运行程序,你会发现,你输入完退出后,当你再次进入该程序的时候,你就会发现,你上次写的东东还在上面,而且是一模一样。

 并且你会在data目录下找到一个名字叫survey.xml文件:

 
 
然后把它导出来,打开之后的格式以及内容如下所示:


 

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
    <int name="sex" value="2131034115" />
    <string name="name">name</string>
    <string name="age">10</string>
</map>


从上面的内容可以看出,它是把那些字段都保存到了xml文件中,当你开启这个应用的时候,它会自动的去data下面找到相应的xml并且把相应的数据显示出来。
 
阅读(2005) | 评论(1) | 转发(0) |
0

上一篇:Android BaseAdapter

下一篇:activity 图

给主人留下些什么吧!~~

chinaunix网友2011-03-27 18:32:49

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com