I send a request from imei to the server and get a token. But when you exit the application and start it again, a new token is issued, I need only 1. And so that I always work with only one, how to solve this problem?
if(sPref==null) { Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://tkachenkodevelop.ru/autoexpert/") .addConverterFactory(GsonConverterFactory.create()) .build(); mServerApi = retrofit.create(API.IServerApi.class); //mServerApi = API.getRetrofit(getString(R.string.api_url), this).create(API.IServerApi.class); Call<Token> call = (Call<Token>) mServerApi.getToken(imei); call.enqueue(new Callback<Token>() { @Override public void onResponse(Call<Token> call, Response<Token> response) { // response.body().getAccessToken(); Log.d("qwe", response.body().getAccessToken()); //mPhoneEdit.setText(response.body().getAccessToken()); mToken = response.body().getAccessToken(); saveText(mToken); } @Override public void onFailure(Call<Token> call, Throwable t) { //Log.d("error",t.toString()); } }); }else { sharedPreferences = getSharedPreferences("SavedIdToken", MODE_PRIVATE); mToken = sharedPreferences.getString("Token", ""); }
where
void saveText(String token) { sPref = this.getSharedPreferences("SavedToken", Context.MODE_PRIVATE); SharedPreferences.Editor ed = sPref.edit(); ed.putString("Token", token); ed.apply(); }