Android中的Preferences和SharedPreferences有什么区别?

时间:2017-01-03 13:34:31

标签: android sharedpreferences android-sharedpreferences

java.util.prefs.Preferencesandroid.content.SharedPreferences之间有什么区别? Declare @Yourtable table (FirstName varchar(25) ,LastName varchar(25),userid varchar(25), Regions varchar(50), ViewCosts varchar(25), HelpReviewCosts varchar(25)) Insert Into @Yourtable values ('Darron','Peters','ya00003','All','y','y'), ('John','Davies','ya30982','NA, EM, AP, LA','n','n') Select A.FirstName ,A.LastName ,A.userid ,Regions =B.RetVal ,A.ViewCosts ,A.HelpReviewCosts From @Yourtable A Cross Apply [dbo].[udf-Str-Parse](A.Regions,',') B ?看起来它们是用于类似的东西 - 你可以通过它们中的一个键来放置和获取值,但是Preferences看起来更难以且更多地属于操作系统而不是应用程序。

2 个答案:

答案 0 :(得分:4)

Preferences是一个核心java类link1

  

java.util.prefs.Preferences:此类允许应用程序存储和检索用户和系统首选项和配置数据。此数据持久存储在依赖于实现的后备存储中。

SharedPreferences是一个特定于Android的界面link2

  

android.content.SharedPreferences:用于访问和修改getSharedPreferences(String,int)返回的首选项数据的接口。对于任何特定的首选项集,此类的单个实例都是所有客户端共享的。

答案 1 :(得分:0)

首选项:用户界面是设置的一部分。它包含不同的类,使您可以从代码或XML组成“设置”屏幕。

共享首选项:用于将值存储在XML文件中。这些文件由Android为您创建,维护和删除。它们未加密,并且在用户扎根手机后可以轻松更改。不要将它们用于敏感信息。 上面提到的“首选项”使用“共享首选项”作为基础系统。

要获取所有首选项,我们将SharedPreferences用作

SharedPreferences sharedPreferences = getPreferenceScreen().getSharedPreferences();

我们要使用特定的首选项

Preference p = getPreferenceScreen().getPreference(index);