相关疑难解决方法(0)

如何从Android中的PreferenceActivity获取SharedPreferences?

我正在使用PreferenceActivity为我的应用程序显示一些设置.我通过xml文件膨胀设置,以便我的onCreate(和完整的类方法)如下所示:

public class FooActivity extends PreferenceActivity {
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        addPreferencesFromResource(R.xml.preference);
    }
}
Run Code Online (Sandbox Code Playgroud)

PreferenceActivity PreferenceFragment的javadoc 说明了这一点

当用户与它们交互时,这些首选项将自动保存到SharedPreferences.要检索此活动中的首选项层次结构将使用的SharedPreferences实例,请使用与此活动相同的包中的上下文调用getDefaultSharedPreferences(android.content.Context).

但是我如何在另一个Activity中获得SharedPreference的名称?我只能打电话

getSharedPreferences(name, mode)
Run Code Online (Sandbox Code Playgroud)

在其他活动中但我需要PreferenceActivity使用的SharedPreference的名称.名称是什么或如何检索它?

android preferences preferenceactivity sharedpreferences

364
推荐指数
3
解决办法
31万
查看次数

getDefaultSharedPreferences和getSharedPreferences之间的区别

Android getDefaultSharedPreferencesgetSharedPreferencesAndroid有什么区别?有人可以解释一下吗?

android android-preferences sharedpreferences

217
推荐指数
2
解决办法
8万
查看次数

何时使用getDefaultSharedPreferences和getSharedPreferences

我只是好奇.有3种方法:

1. getPreferenceManager().setSharedPreferencesName(String PrefName);

2. PreferenceManager.getDefaultSharedPreferences(Context context)

3. Context.getSharedPreferences (String name, int mode)
Run Code Online (Sandbox Code Playgroud)

据我所知,第三种方法仅在使用第一种方法时使用,对吧?但是我们也用3种方法addPreferencesFromResource(int resID); 那么区别是什么呢?我们什么时候可以使用这些方法之一?谢谢!

android

21
推荐指数
1
解决办法
1万
查看次数

搞乱Android的共享偏好 - 使用哪个功能?

这是一个标准任务:在应用程序的共享首选项中存储一些值,以便以后能够检索它.但是人们会发现有3个函数可以在那里存储一个值:

//1.
public static SharedPreferences PreferenceManager.getDefaultSharedPreferences(Context context) {}

//2.
public SharedPreferences Activity.getPreferences(int mode) {}

//3.
public SharedPreferences ContextWrapper.getSharedPreferences(String name, int mode) {}
Run Code Online (Sandbox Code Playgroud)

所以现在问题是:选择哪一个,哪一个更好,或者每个人的目的是什么?

android default sharedpreferences

4
推荐指数
1
解决办法
1570
查看次数