нулевой указатель на PreferenceManager.getDefaultSharedPreferences (getBaseContext ()); - PullRequest
0 голосов
/ 21 марта 2012

Я пытаюсь получить свои данные из провайдера данных, поскольку провайдер данных не предоставляет контекст, я создал следующую функцию:

public String getUN() {
    Log.w("app", "getUN");
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
    Log.w("app", "getUN2");
    return prefs.getString("username", "");
}

Я использовал отладку затмения (наряду сЖурнал сообщений), чтобы найти точку ошибки: строка preferencemanager

, вызванная из другого класса:

PreferencesActivity pa = new PreferencesActivity();
Log.w("app","user:"+pa.getUN());

(снова Журнал для отладки)

Спасибо.

edit: альтернативный метод извлечения данных также приветствуется, данные хранятся с использованием «родного» метода Android (через xml предпочтения)

Ответы [ 2 ]

0 голосов
/ 21 марта 2012

Вы должны передать контекст своему провайдеру данных.

0 голосов
/ 21 марта 2012

Использование, getApplicationContext()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...