Java PreferenceManager.GetDefaultSharedReferences(getBaseContext())上的空指针;

Java PreferenceManager.GetDefaultSharedReferences(getBaseContext())上的空指针;,java,android,sharedpreferences,android-preferences,preferenceactivity,Java,Android,Sharedpreferences,Android Preferences,Preferenceactivity,我试图从数据提供程序内部获取数据,因为数据提供程序不提供我创建的以下函数的上下文: public String getUN() { Log.w("app", "getUN"); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext()); Log.w("app", "getUN2"); return prefs.getString("userna

我试图从数据提供程序内部获取数据,因为数据提供程序不提供我创建的以下函数的上下文:

public String getUN() {
    Log.w("app", "getUN");
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
    Log.w("app", "getUN2");
    return prefs.getString("username", "");
}
我使用eclipse调试和日志消息来查找错误点:preferencemanager行

从另一个类调用:

PreferencesActivity pa = new PreferencesActivity();
Log.w("app","user:"+pa.getUN());
再次登录以进行调试

谢谢

编辑:也欢迎使用其他方法获取数据,
数据通过首选项xml使用android的“本机”方法存储。使用getApplicationContext,您应该将上下文传递给数据提供者

然后我也可以传递uid和密码,如果这样做的话