iT邦幫忙

2022 iThome 鐵人賽

DAY 28
0
Mobile Development

Android Studio 30天學習系列 第 28

Android Studio 30天學習-DAY28_SharedPerferences基本建立學習

  • 分享至 

  • xImage
  •  

SharedPerferences基礎建立學習

SharedPerferences是一個Android Studio自帶的儲存功能。
這邊用文字述說他的功用。

  • 在需要登入帳號密碼驗證身分的API上,當帳號密碼皆正確的時候會回覆給我們一串Token,而這串Token就是我們登入的憑證。

  • 接著登入成功後也許後續的一些操作都需要使用token來請求資料,這時我會使用SharedPerferences來儲存這串Token,並將其套入到後續資料的請求參數。

  • SharedPerferences的程式碼撰寫

    • 這邊建立了兩個副程式
      • 一個是savetoken():這個是用來儲存回覆得到的token參數。
      • 另一個是fetchtoken():這個是拿取到這個回覆的token。
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,"");
    }
}

MainActivity建立基本儲存token的方法

因為目前沒有拿取Token的API可以使用,所以先拿FakeAPI的回覆資料來假設是Token參數。

  • 解析:

    • 在儲存Token之前我會先建立一個對應型態的變數來存放取得到的Token參數。
    • 接著使用已經建立在class內的savetoken()來儲存這個token。
    • 接著可以確認是否可以拿取這個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的資料所用的SharedPerferences
    //拿到回覆的Token參數
    String token = response.body().getToken();
    //將Token儲存進SharedPerferences。
    loginSharedPerferences.savetoken(token);
    //儲存成功後就可以使用設定完成的副程式取出儲存進去的Token。
    Log.e("fetchToken",loginSharedPerferences.fetchtoken());

以上是今天所做的SharedPerferences基本建立學習。


上一篇
Android Studio 30天學習-DAY27_API_in_MVP基本建立學習
下一篇
Android Studio 30天學習-DAY29_API接取的綜合實作
系列文
Android Studio 30天學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言