在安卓中接口回调是十分常见的一种传值的方式。
在这里简单的记录一下自己对接口回调的理解和用法。
第一次应用接口回调是应用在MVP框架模式中的M层获取数据,并且将数据回调给P层,下面贴一下我自己的代码。
首先这是我的M层实现类:
在这里只是讲解一下接口回调所以并没有创建M层接口
public class MyModel{
/**
* 获取数据的方法
* 并且传递一个接口变量
*/
public void getMyData(IModelCallBack i){
/**假设我的耗时操作已经做完了String就是我得到的数据*/
String data = "data";
//得到数据之后调用接口的方法并且将数据传递过去
i.callBack(data);
}
/**
*创建一个接口
*并且创建回调方法
*回调方法中的参数就是我们得到的数据
*/
interface IModelCallBack{
void callBack(String s);
}
}
然后是P层的实现:
public class MyPresenter{
IView v;
IModel m;
public DataP(IView v) {
this.v = v;
this.m = new DataModel();
}
public void Relation(){
//P层调用M层获取数据的方法 并且传递过去 一个接口类型的变量
//我们在这里用匿名内部类的方式传递一个接口类型的变量
m.getMyData(new MyModel.IModelCallBack(){
@Override
public void callBack(String s){
//在这里我们就得到了 数据 可以进行我们自己的操作了
}
});
}
}
以上就是我对接口回调的一点理解了,,,
如果有什么扩展的需求或者我有什么遗失和错误欢迎评论,我会第一时间回复和更新。