理解 Android 本地数据存储 AP(转)
根据此信息,您可以在主屏幕上显示姓名;使用 ID,您可以检索所选用户的额外详细信息。在样例应用程序中,只显示了姓名。检索额外信息留给您去试验。注意,您很容易更改代码,以直接转向 Facebook。
?
在?图 2?中,布局是用 XML 以声明式方法定义的(不是以编程方式);声明式 XML 是首选方法,因为它保持了源代码的清晰可读。清单 4?展示了 Preferences UI 的 XML 声明。
清单 4. Preferences 屏幕的 XML 声明
PreferenceScreen
?包含?EditTextPreference
?的两个实例、一个?CheckBoxPreference
?和两个由?PreferenceCategory
?定义的类别组(一个用于?Asset
,另一个用于?Auto Settings
)。
在样例应用程序中,设计要求 Preference 屏幕使用菜单项进行调用。为此,使用一条 Intent 消息来调用叫做?AppPreferenceActivity
的 Preference Screen Activity(参见?清单 5)。注意,我没有详细介绍 Intent 如何工作。关于 Intent 的更多信息,请参见?参考资料。
清单 5.?AppPreferenceActivity
回想一下,PreferenceActivity
?使用?SharedPreferences
?在用户与首选项屏幕交互时自动存储首选项。然后应用程序在执行各种任务时使用这些首选项。清单 8?展示了如何直接使用?SharedPreferences
?来加载存储的首选项;关于加载的首选项在整个样例代码中是如何被使用的,您可以参考相应的样例代码。此外,清单 8?也展示了如何利用?SharedPreferences
?直接存储首选项,以防您喜欢自己管理首选项(不是通过?PrefenceActivity
),使用了一个?Editor
。
清单 8?展示了如何使用?SharedPreferences
?加载已存储的首选项,以及如何使用?Editor
?更改已存储的首选项。
清单 8. 使用?SharedPreferences
/////////////////////////////////////////////////////////////// The following methods show how to use the SharedPreferences//////////////////////////////////////////////////////////////** * Retrieves the Auto delete preference * @return the value of auto delete */public boolean prefsGetAutoDelete() { boolean v = false; SharedPreferences sprefs = PreferenceManager.getDefaultSharedPreferences(appContext); String key = appContext.getString(R.string.prefs_autodelete_key); try { v = sprefs.getBoolean(key, false); } catch (ClassCastException e) { } return v;} /** * Sets the auto delete preference * @param v the value to set */public void prefsSetAutoDelete(boolean v) { SharedPreferences sprefs = PreferenceManager.getDefaultSharedPreferences(appContext); Editor e = sprefs.edit(); String key = appContext.getString(R.string.prefs_autodelete_key); e.putBoolean(key, v); e.commit();}
接下来,将介绍如何使用数据库来存储数据。
未完待续
感谢:http://hi.baidu.com/304580500/blog/item/04a246534690f51a0df3e37a.html