SharedPerferences是一個Android Studio自帶的儲存功能。
這邊用文字述說他的功用。
在需要登入帳號密碼驗證身分的API上,當帳號密碼皆正確的時候會回覆給我們一串Token,而這串Token就是我們登入的憑證。
接著登入成功後也許後續的一些操作都需要使用token來請求資料,這時我會使用SharedPerferences來儲存這串Token,並將其套入到後續資料的請求參數。
SharedPerferences的程式碼撰寫
public class SharedPerferences {
private Context context;
SharedPreferences sharedPreferences;
SharedPreferences.Editor editor;
private String Token;
public SharedPerferences(Context context) {
this.context=context;
sharedPreferences = this.context.getSharedPreferences(String.valueOf(R.string.app_name),Context.MODE_PRIVATE);
}
public void savetoken(String token){
sharedPreferences.edit().putString(Token,token).apply();
}
@Nullable
public String fetchtoken(){
return sharedPreferences.getString(Token,"");
}
}
因為目前沒有拿取Token的API可以使用,所以先拿FakeAPI的回覆資料來假設是Token參數。
解析:
取得結果:
因為目前沒有回覆TokenAPI可以使用,所以先以這個來模擬真正回覆token的API來存放,下方的圖可以看到我是用第二筆資料的Title資料來模擬儲存以及取得的用法。
// 自己建立的SharedPerferences class
SharedPerferences sharedPerferences;
// 實例化SharedPerferences
sharedPerferences = new SharedPerferences(this);
// 在已經完成請求並得到回覆的地方加入此方式。
String Token = response.body().get(2).getTitle();
Log.e(TAG, "response : "+response.body().get(2).getTitle());
sharedPerferences.savetoken(Token);
Log.e(TAG, "Token is : "+sharedPerferences.fetchtoken() );
//拿到回覆的Token參數
String token = response.body().getToken();
//將Token儲存進SharedPerferences。
loginSharedPerferences.savetoken(token);
//儲存成功後就可以使用設定完成的副程式取出儲存進去的Token。
Log.e("fetchToken",loginSharedPerferences.fetchtoken());