Android应用开发之使用SharedPreferences存储数据

SharedPreferencesAndroid中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)。SharedPreferences常用来存储一些轻量级的数据.

 

//获得SharedPreferences对象

SharedPreferences mySharedPreferences= getSharedPreferences("test",

                Activity.MODE_PRIVATE);

//获得SharedPreferences.Editor对象

        SharedPreferences.Editor editor = mySharedPreferences.edit();

//putString的方法保存数据

        editor.putString("name""Karl");

        editor.putString("habit""sleep");

//提交当前数据

        editor.commit();
//使用toast信息提示框提示成功写入数据

Toast.makeText(this, "数据成功写入SharedPreferences!" ,

Toast.LENGTH_LONG).show(); 

 

执行以上代码,SharedPreferences将会把这些数据保存在test.xml文件中,可以在File Explorerdata/data下导出该文件,并查看。

那么已经保存好的数据如何读取出来呢。我们来看:

//同样,在读取SharedPreferences数据前要实例化出一个SharedPreferences对象

SharedPreferencessharedPreferences= getSharedPreferences("test",

                Activity.MODE_PRIVATE);

// 使用getString方法获得value,注意第2个参数是value的默认值

        String name =sharedPreferences.getString("name""");

        String habit =sharedPreferences.getString("habit""");

//使用toast信息提示框显示信息

 

      Toast.makeText(this, "读取数据如下:"+"\n"+"name:" + name + "\n" + "habit:" + habit,

Toast.LENGTH_LONG).show();


源代码如下:

public class Main extends Activity

{

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

 

public void onClick_WriteData(View view)

{

SharedPreferences mySharedPreferences = getSharedPreferences("test",

Activity.MODE_PRIVATE);

SharedPreferences.Editor editor = mySharedPreferences.edit();

editor.putString("name", "karl");

editor.putString("habit", "sleep");

editor.commit();

Toast.makeText(this, "数据成功写入SharedPreferences!" ,

Toast.LENGTH_LONG).show(); 

 

}

public void onClick_ReadData(View view)

{

SharedPreferences sharedPreferences = getSharedPreferences("test",

Activity.MODE_PRIVATE);

String name = sharedPreferences.getString("name", "");

String habit = sharedPreferences.getString("habit", "");

 

 Toast.makeText(this, "读取数据如下:"+"\n"+"name:" + name + "\n" + "habit:" + habit,

Toast.LENGTH_LONG).show();

 

}

}

 

 

                  图1.1  程序执行结果

 

 
posted @ 2012-11-13 00:27  ikarl  阅读(780)  评论(1编辑  收藏  举报