Retrofit и SharedPreferences: Как сохранить полученный токен?

150
12 ноября 2019, 14:20

Не получается сохранить токен. В файле preferences.xml сохраняется такая строка: com.example.myapp.data.network.RequestBody@a7a3bc8, хотя я должен получить хэш из 32 символов. Помогите разобраться! Ниже мой код...

public class SharedPreferencesUtils {
    public static final String APP_PREFERENCES = "preferences";
    static Context CONTEXT;
    public SharedPreferencesUtils(Context context) {
        CONTEXT = context;
    }
    public void saveToken(String key, String value) {
        SharedPreferences sharedPreferences =
                CONTEXT.getSharedPreferences(APP_PREFERENCES, Activity.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putString(key, value);
        editor.apply();
    }
    public String loadToken(String key, String value) {
        SharedPreferences sharedPreferences =
                CONTEXT.getSharedPreferences(APP_PREFERENCES, Activity.MODE_PRIVATE);
        return sharedPreferences.getString(key, value);
    }
}

private void sendRequestRegisterToken() {
        ResponseBody hexPost = new ResponseBody();
        hexPost.token = mToken;
        Call<RequestBody> call = mService.postToken(hexPost);
        call.enqueue(new Callback<RequestBody>() {
            @Override
            public void onResponse(@NonNull Call<RequestBody> call, @NonNull Response<RequestBody> response) {
                if (response.isSuccessful() && response.body() != null) {
                    SharedPreferencesUtils shared = new SharedPreferencesUtils(getApplicationContext());
                    shared.saveToken(SharedPreferencesUtils.APP_PREFERENCES, response.body().toString());
                }
            }
            @Override
            public void onFailure(@NonNull Call<RequestBody> call, @NonNull Throwable t) {
            }
        });
    }
@FormUrlEncoded
@POST(" ")
Call<List<RequestBody>> postParams(@Field("id_token") String id_token);
READ ALSO
Error: Program type already present:

Error: Program type already present:

Выскакивает ошибка при сборке проекта Error: Program type already present: comlaba2

108
Как сделать таймер для GUI в Java?

Как сделать таймер для GUI в Java?

Есть код, последовательность операций

113
Аутентификация с помощью Java приложения

Аутентификация с помощью Java приложения

Помогите пожалуйста разобратьсяСтоит задача отправить xml файл используя моё WEB приложение в другое WEB приложение

123