我想在网上画一些要求的东西,那么这是核心实现(绘制逻辑省略):
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
}
}
然而问题是数据请求是一项耗时的工作,这意味着数据可能不会立即返回。
那么有什么经验可以满足这种要求吗?