org.xutils.http.app.RequestTracker

package org.xutils.http.app;



import org.xutils.http.RequestParams;

import org.xutils.http.request.UriRequest;



/**

* @author 注释者:王教成

* @version 注释版:1.0.0

* 请求追踪器接口,适合用来记录请求日志,所有回调方法都在主线程进行

* <p>

* 用法:

* 1.将RequestTracker实例设置给请求参数RequestParams

* 2.请求的callback参数同时实现RequestTracker接口

* 3.注册给UriRequestFactory的默认RequestTracker

* 注意:请求回调RequestTracker时优先级按照上面的顺序,找到一个RequestTracker的实现会忽略其他

*/

public interface RequestTracker {

/**

    * 等待中回调方法

    * @param params 请求参数

    */

   void onWaiting(RequestParams params);

   /**

    * 开始回调方法

    * @param params 请求参数

    */

   void onStart(RequestParams params);

   /**

    * 请求已创建回调方法

    * @param request Uri请求参数

    */

   void onRequestCreated(UriRequest request);

   /**

    * 缓存回调方法

    * @param request Uri请求参数

    * @param result 结果对象

    */

   void onCache(UriRequest request, Object result);

   /**

    * 成功回调方法

    * @param request Uri请求参数

    * @param result 结果对象

    */

   void onSuccess(UriRequest request, Object result);

   /**

    * 已取消回调方法

    * @param request Uri请求参数

    */

   void onCancelled(UriRequest request);

   /**

    * 错误回调方法

    * @param request Uri请求参数

    * @param ex 异常

    * @param isCallbackError 是否回调错误

    */

   void onError(UriRequest request, Throwable ex, boolean isCallbackError);

   /**

    * 已完成方法

    * @param request Uri请求参数

    */

   void onFinished(UriRequest request);

}

org.xutils.http.app.RequestTracker