我想在线绘制一些请求,然后这是核心工具(省略绘制逻辑):
public abstract class AbstractBasicDataHandler extends AbstractHandler{
private DataProvider tp = new DataProvider();
@Override
protected void onReadyToDraw(Canvas c,int params) {
byte[] data = tp.getDrawableData(params);
doRender(c, data);
}
protected abstract void doRender(Canvas c, byte[] data);
}
AbstractBasicDataHandler
将完成数据请求的工作,然后AbstractBasicDataHandler
的任何子类将只关注渲染工作,如下所示:
public class AnyClass extends AbstractBasicDataHandler{
@Override
doRender(Canvas c, byte[] data){
//render according to the data
}
}
然而,问题是数据请求是一项耗时的工作,这意味着数据可能会立即返回。
那么满足这种要求的经验是什么?
答案 0 :(得分:1)
是的,您可以使用Asynctask
在其doInBackground()
中执行网络操作,并在其postExecute()
中执行您的UI操作。