Добрый день,
Я прочитал почти все сообщения, касающиеся общих предпочтений в Stackoverflow, но ни один из них, похоже, не ответил на мой вопрос.
Я сохраняю код токена в общих предпочтениях после его получения из JSON, когда я всплываю все значения правильно, я сохраняю строковое значение в Sharedpreferences с помощью следующего кода:
private String mypreference = "AppData.xml";
private String KeySave = "KeySave";
sharedpreferences = getSharedPreferences(mypreference, Context.MODE_PRIVATE);
String Token = json.optString("TokenFomJSON");
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putString(KeySave, Token);
editor.commit();
Когда я смотрю на XML, я вижу сохраненное значение проблема в том, что я снова конвертирую Sharedpreferences обратно в String для использования с приведенным ниже кодом:
String KeyCaptured = sharedpreferences.getString(KeySave, "");
Затем он возвращает предыдущий сохраненный ключ, а не обновленный ключ из JSON.
Когда я перезапускаю приложение, отображается правильный ключ.
То, что я уже тестировал.
Изменение .commit () на .apply ()
Я сначала вызываю JSON с помощью кода ниже:
GetKey();
private void GetKey() {
JsonObjectRequest jsonObjReq = new JsonObjectRequest(
Request.Method.POST, url, js,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d("Token", response.toString());
try {
JSONObject json = new JSONObject(response.toString());
String Token = json.optString("TokenFomJSON");
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putString(KeySave , Token);
editor.commit();
// Toast.makeText(LoginActivity.this, Token, Toast.LENGTH_SHORT).show();
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d("Token", "Error: " + error.getMessage());
}
})
}
Затем я вызываю его с помощью следующего кода:
String KeyCaptured = sharedpreferences.getString(KeySave, "");
Кроме выше, что я тестировал, других предложений не так много желаю попробовать, у кого-нибудь есть предложения, которые я мог бы попробовать?
Спасибо, С уважением