2015-09-18 81 views
0

我有一個Android應用程序,每次執行調用Web服務的操作時都需要檢查身份驗證令牌,因此我必須在所有活動中包含檢查代碼片段。我想問一下在Android平臺中是否存在攔截器,如果是,請分享將攔截器應用於我的代碼的最佳做法?謝謝。Android中的攔截器

+0

您可以製作獨特的方法並將攔截器代碼放入其中,然後在需要的地方調用此方法。你不必每次都在你的活動 –

+0

謝謝你,這顯然是正確的答案。我想找到一個攔截器,但似乎它不支持在android –

回答

2

對於android不推薦使用運行時反射,所以你不應該使用任何提供運行時攔截你的HTTP請求的庫。您可以編寫一個簡單的HTTP請求實用程序方法,並通過此方法路由所有HTTP請求。

public static void makePostRequest(String url, Object body, Context context, AsyncHttpResponseHandler handler) { // here you can add your authentication token to header} 
+0

謝謝,我想過這個解決方案。由於Android不支持Interceptor,所以我認爲這是最好的方法。 –

0

我看到你想要避免多次驗證檢查。因此,考慮創建一個自定義類來檢查身份驗證令牌,然後在所有活動中擴展該類。例如:

public abstract class MyActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     // Your authentication code goes here 
    } 
} 

public class MainActivity extends MyActivity { 
    // Your concrete class 
} 

這樣,您可以忘記將驗證碼放到任何地方。

+0

如果我這樣做了,即使我不叫WS –