我有一个Android应用程序,每次执行调用Web服务的操作时都需要检查身份验证令牌,因此我必须在所有活动中包含检查代码段。我想问一下Android平台是否存在拦截器,如果是,请分享将拦截器应用于我的代码的最佳实践?感谢。
答案 0 :(得分: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}
答案 1 :(得分: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
}
这样,您可以忘记将身份验证代码放在任何地方。