public class TestModle implements IModle{
private CallbackListener callback;
public TestModle(CallbackListener callback) {
this.callback = callback;
}
public interface CallbackListener {
void onGetData(String data);
}
public void getData() {
new Thread() {
public void run() {
callback.onGetData("返回的数据");
}
}.start();
}
}
// 抽象的view层
public interface TestViewInterf extends IView {
void onGetData(String data);
}
// 具体的View层
public class MainActivity extends Activity implements TestViewInterf{
private TestPresenter mTestPresenter;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// view层将获取数据的任务委派给中介者presenter,并传入自身实例对象,实现TestViewInterf接口
mTestPresenter = new TestPresenter(this);
mTestPresenter.getData();
}
@Override
public void onGetData(String data) {
// View层只做数据展示
showToast(data);
}
private void showToast(String toast) {
Toast.makeText(this, toast, Toast.LENGTH_LONG).show();
}
}
public class TestPresenter implements IPresenter{
IModle modle;
IView view;
public TestPresenter(IView view) {
this.view = view;
}
public void getData() {
// 获取数据的操作实际在Modle层执行
modle = new TestModle(new CallbackListener() {
public void onGetData(String data) {
if (view != null) {
view.onGetData(data);
}
}
});
modle.getData();
}
}
@Override
public void onDestroy() {
super.onDestroy();
mPresenter.destroy();
}
public void destroy() {
view = null;
if(modle != null) {
modle.cancleTasks();
}
}
public void cancleTasks() {
// TODO 终止线程池ThreadPool.shutDown(),AsyncTask.cancle(),或者调用框架的取消任务api
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有