2016-09-27 9 views
1

api callsにはaccesstokenが必要なアンドロイドアプリケーションを開発中です。すべての10 min.Iは私がやっている何.Currently api callsためretrofitを使用していた後AccessTokenの有効期限が切れることはまずgetAccessToken()の方法を使用してaccesstokenを取得し、それに応答して、私は他のapi callsを作るているので、他のapi calls(ユーザー情報を得るようなもの)が後にのみ作られています確認しますaccesstokenになります。これは正常に動作しますが、私のアプリにはたくさんのAPIコールがあるので、すべてのクラス(フラグメントまたはアクティビティ)にgetAccessToken()メソッドの同じコードを書く必要があり、対応するapi callsがレスポンスに含まれています。
すべてのクラスでこの重複コードを避ける方法はありますか、正しい方法で行っています。Android:非同期呼び出しを使用してアクセス権を更新する

答えて

1

静的関数を試してください。

public class Utility { 
    public static String getAccessToken(Context context) { 
     //Do the calculation here 
     return accessToken; 
    } 
} 

あなたはあなたが Retrofit Interceptorsを使用することができます

Utility.getAccessToken(context); 
0

によってあなたの活動からまたは断片からaccessTokenを必要なときに、このメソッドを呼び出します。

あなたのインターセクションを通過する改造を使用するすべてのリクエストがあなたのaccess_tokenを得るよりも。

それがされます、あなたのインターセプタで以下のようになります。

Request request = chain.request(); 
request.header("header_name", Utility.getAccessToken()); 
Response response = chain.proceed(request); 
関連する問題