您的位置:首页 > 其它

数据存储之保存键值设置

2012-11-26 23:41 225 查看
大多数的Android应用程序都需要保存数据,虽然只是当应用程序在OnPause()状态时进行保存信息,所以用户的程序才不会丢失。很多非平凡的应用程序也是需要保存用户设置的,而且还有一些应用程序必须借助文件和数据库进行管理大量的信息。下面我们就来介绍一下在Android中主数据存储选项:包括

1、在一个共享的偏好文件中存储键值对的简单数据类型

2、在Android的文件系统中保存任意文件

3、使用SQLite数据库管理

一、保存键值设置

如果你有一个相对较小的键值集合,你又想对它进行保存,所以你应该使用SharedPreferences api。一个SharedPreferences对象指向一个文件包含的键-值对,并提供一些简单的方法来读取和编写它们。每个SharedPreferences文件由管理框架,可以私人或共享。

下面我们就来学习如何使用SharedPreferences api来存储和检索简单的值。

1.1 获取处理
SharedPreferences


你可以创建一个新的sharedpreferences或者
通过调用两个方法
来访问现有的一个:


getSharedPreferences()
— 如果你需要通过名称标识来共享偏好文件,那么你可以在你自己的应用程序中称之为任何文本。
getPreferences()
—如果你需要在一个Activity中使用一个共享的偏好文件,而且因为这个检索一个默认的共享偏好文件属于Activity,所以你不需要提供名称。

例如,下面的代码是在一个 Fragment中执行。它访问的共享偏好的文件标识资源字符串 R.string.preference_file_key 。偏好文件关键并打开它使用私人模式,因此该文件是可以访问你的应用程序的:

Context context = getActivity();
SharedPreferences sharedPref = context.getSharedPreferences(
getString(R.string.preference_file_key), Context.MODE_PRIVATE);

当命名你的应用程序时,你所使用的名字应该是一个唯一标识的应用程序,例如
"com.example.myapp.PREFERENCE_FILE_KEY"


1.2 编写偏好共享文件

写一个偏好共享文件,在你的
SharedPreferences通过调用
edit()方法
创建一个
SharedPreferences.Editor


通过键和值你想写的方法如putInt()和putString()。然后调用commit()来保存更改。例如:

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.saved_high_score), newHighScore);
editor.commit();

1.3 读取偏好共享文件

从一个偏好共享文件的参数文件检索值,调用的方法例如getInt()和getString(),提供你想要的键值,如果键不存在则提供一个可选的默认值返回。例如:

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
long default = getResources().getInteger(R.string.saved_high_score_default));
long highScore = sharedPref.getInt(getString(R.string.saved_high_score), default);


今天暂时就只是看到此处,明天继续......
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐