Skip to content

CheckWorker

Haoge edited this page Dec 14, 2017 · 1 revision

作用

提供给用户定制再检查更新接口时替换网络层框架的接口

配置

[UpdateConfig.getConfig() / UpdateBuilder.create()]
    .setCheckWorker(worker)

接口

CheckWorker

默认实现

DefaultCheckWorker

定制

public class Worker extends CheckWorker {

    @Override
    protected boolean useAsync() {
        // 首先复写此方法。指定当前更新请求接口任务应该使用同步还是异步的方式
        // 当返回true:代表使用异步操作。将会触发asyncCheck方法。
        // 当返回false:代表使用同步操作。将会触发check方法
        // 复写对应的
    }
	
    @Override
    protected String check(CheckEntity entity) throws Exception {
        // entity: 检查更新接口的数据实体类。包含url, params, method
        // 此处运行于子线程。可在此直接替换网络框架使用,返回接口所返回的更新数据即可
        return response;
    }
    
    @Override
    protected void asyncCheck(CheckEntity entity) {
        // 此处运行于子线程。可在此使用异步请求方式请求entity更新接口。
        // 当请求失败:需要手动调用onError(Throwable)并传入失败异常
        // 当请求成功:需要手动调用onResponse(String)并传入接口返回原始数据。便于后续解析
    }
}