SharedPreferences сохранение токена

Друзья, есть вопрос. Как мне сохранить токен который я получаю при регистрации в SharedPreferences, а после как его достать, для того, чтоб послать api get запрос. Я в java новичок, буду очень благодарен за ответ.

  1. Посылаю запрос на сервер:
    @FormUrlEncoded
    @POST("login")
    Call<Data> userLogin(
        @Field("login") String login,
        @Field("pass") String pass
    );
    
  2. Получаю ответ ( модель), по идее в этом шаге токен приходит от сервера

    package com.example.diplomprogect.models;
    
    
    public class Data {
        private boolean status;
        private User data;
        private String token;
    
        public Data(String token) {
            this.status = status;
            this.token = token;
            this.data = data;
        }
    
        public boolean isStatus() {
            return status;
        }
    
        public User getData() {
            return data;
        }
    
        public String getToken() {
            return token;
        }
    }
    
  3. Дальше создал файл с SharedPreferences и пишу чтоб токен сохранился:

    public void saveToken(Data token){
        SharedPreferences sharedPreferences = mCtx.getSharedPreferences(SHARED_PREF_NAME, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
    
        editor.putString("token", token.getToken());
    
        editor.apply();
     }
    
     public Data getToken(){
          SharedPreferences sharedPreferences = mCtx.getSharedPreferences(SHARED_PREF_NAME, Context.MODE_PRIVATE);
          return new Data(sharedPreferences.getString("token", null));
     }
    
  4. Но, насколько я понял, чтоб токен сохранился мне еще надо что то написать в LoginActivity, а пока в файле SharedPreferences, saveToken и getToken подсвечены серым. Подскажите, что я должен сделать, чтоб токен сохранился?

  5. Нужно создать запрос GET, в такой форме:

     @GET("users?token={{token}}")
     Call<UsersResponse> getData();
    

Где вместо {{token}} будет сохранённый ранее токен.

P.S. Подскажите пожалуйста как это реализовать, я уже конкретно запутался. Заранее спасибо)


Ответы (0 шт):