android studio SharedPreferences не работает - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь использовать SharedPreferences для входа или регистрации

SharedPreferences    sp=getSharedPreferences("Login", MODE_PRIVATE);
SharedPreferences.Editor Ed=sp.edit();
Log.d("my id",jsonObject.getString("id"));
Ed.putString("userid",jsonObject.getString("id"));
Ed.commit();//or Ed.apply();

и в другом коде, пытаясь его получить

SharedPreferences sharedpreferences= getSharedPreferences("login", MODE_PRIVATE);
String id= sharedpreferences.getString("userid",null);
if(id==null)//sharedpreferences.contains("userid")==false)
{
    Log.d("pref","No Id");
}

, и он всегда печатает No Id

Ответы [ 3 ]

1 голос
/ 08 мая 2020

A SharedPreferences объект указывает на файл, содержащий key-value pairs, и предоставляет простые методы для их чтения и записи. Каждый файл SharedPreferences управляется платформой и может быть частным или общим.

Ваш KEY должен быть таким же. Прочтите официальное руководство о getSharedPreferences.

 SharedPreferences sharedpreferences = getSharedPreferences("Login", MODE_PRIVATE);

и

SharedPreferences sp = getSharedPreferences("Login", MODE_PRIVATE);
0 голосов
/ 08 мая 2020

Вы устанавливаете его в Login и получаете его из login. Они должны быть одинаковыми.

0 голосов
/ 08 мая 2020

Пожалуйста, установите тот же ключ при установке и получите данные. Вы установили Login при установке данных и использовали login при получении данных. Оба ключа должны быть одинаковыми.

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