预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共18页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Android官方开发教程中文版——维信科技 保存数据 保存数据 大部分Android应用都需要保存数据,即使只是在onPause()期间不让用户进度丢失而保存状态信息。大部分有意义的App还需要保存用户设置,某些App必须管理大量来自于文件和数据库的信息(维信科技提供)。本课程介绍Android中保存数据的主要方式。包括: 简单数据保存到参数文件中的键值对。 保存到Android文件系统的任意文件中。 使用SQLite数据库管理。 保存键值对集合 如果你有一个想保存的、相对较小的键值对集合,你应用使用SharedPreferencesAPI。SharedPreferences对象指向一个包含了键值对的文件并提供一些简单的方法以读写它们。每个SharedPreferences文件由框架管理,可以设为私有或共享。 本课程展示如何使用SharedPreferencesAPI储存相对简单的数据。 注意:SharedPreferencesAPI只读写键值对,不要把它和PreferenceAPI混淆,PreferenceAPI是为App设置构建用户界面(尽管在界面中使用SharedPreferencesAPI来做为保存设置数据的实现)。有关Preference的更多信息,请参见“设置”指南。 获取SharedPreferences的句柄 你可以创建新的参数文件或通过以下两个方法之一访问一个存在的参数文件: getSharedPreferences()——如果你需要从由名称标识的多个共享参数文件中,用方法的第一个参数指定一个,那么用这个。你可以从App的任意上下文中调用它。 getPreferences()——如果你需要为Activity使用仅有的参数文件,那么用这个。因为这会检索Activity默认的共享参数文件,你不需要提供名称。 例如,下面的代码在一个Fragment中执行,它访问了一个由资源字符串R.string.preference_file_key标识的参数文件,并且用私有模式打开它,因此这个文件只能由你的App访问(维信科技提供)。 Contextcontext=getActivity();SharedPreferencessharedPref=context.getSharedPreferences(getString(R.string.preference_file_key),Context.MODE_PRIVATE); 命名你的共享参数文件时,应该使用唯一的、可识别的名称。比如“com.example.myapp.PREFERENCE_FILE_KEY”。 或者,如果你的Activity就一个共享参数文件,你可以使用getPreference()方法: SharedPreferencessharedPref=getActivity().getPreferences(Context.MODE_PRIVATE); 警告:如果你MODE_WORLD_READABLE或MODE_WORLD_WRITEABLE创建共享参数文件,那么任何知道文件标识符的其它App都可以访问你的数据。 写入共享参数 写入共享参数文件,用SharedPreferences对象的edit()方法创建一个SharedPreference.Editor对象。 把你要写入的键和值传递给putInt()或putString()之类的方法,然后调用commit()方法提交改变。如: SharedPreferencessharedPref=getActivity().getPreferences(Context.MODE_PRIVATE);SharedPreferences.Editoreditor=sharedPref.edit();editor.putInt(getString(R.string.saved_high_score),newHighScore);editor.commit(); 读取共享参数 调用getInt()或getString()之类的方法从共享参数文件中检索值,提供一个你想要得到值的键,以及一个可选的、当键不存在时返回的默认值。如: SharedPreferencessharedPref=getActivity().getPreferences(Context.MODE_PRIVATE);intdefaultValue=getResources().getInteger(R.string.saved_high_score_default);longhighScore=sharedPref.getInt(getString(R.string.saved_high_score),defaultValue); 保存文件 Android使用的文件