我想在网上画一些要求的东西,然后这是核心工具(省略画图逻辑):
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
}
}
但是,问题在于数据请求是一项耗时的工作,这意味着数据可能不会立即返回。
那么有满足这种要求的经验吗?
最佳答案
是的,您可以使用Asynctask
在其doInBackground()
中执行其网络操作,并在其postExecute()
中执行您的UI操作。