多平台统一管理软件接口,如何实现多平台统一管理软件接口
333
2023-04-26
java 接口回调实例详解
java 接口回调实例详解
首先官方对接口回调的定义是这样的,所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法。这样听起来有点绕,我们可以这么理解接口回调:比如我们想知道隔壁老王啥时候回家?但是我们有自己的事情做不能一直监视着老王,那么我们可以雇员小区的保安来完成这个任务,当老王回家口,保安就给我们打电话告诉我们,老王回来了!这样就完成了一个事件的传递;
首先我们定义了一个接口:
public interface DynamicMessageListener {
/**
* 获取网络数据,
* @param bean bean 对象
*/
void getDynamicData(List
}
定义一个类实现这个接口:
public class DynamicFragment extends Fragment implements DynamicMessageListener {
//初始化监听者
private DynamicMessageLiCPtKFstener listener;
/**
* 获取网络数据
*
* @param bean bean 对象
*/
@Override
public void getDynamicData(List
if (bean != null && bean.size() > 0) {
if (!isMore) {
adapter = new DynamicAdapter(mContext, bean, this, classID);
friendLv.setAdapter(adapter);
adapter.setListener(this);
LLog.e("activity------有数据");
} else {
adapter.setData(bean);
}
}
}
}
在网络请求层调用上面的方法:
public class DynamicModel extends BaseModel {
private Context mContext;
private NetUtils net;
private DynamicMessageListener listener;
public DynamicModel(Context mContext, DynamicMessageListener listener) {
this.mContext = mContext;
net = NetUtils.getInstance();
this.listener = listener;
}
/**
* 加载网络数据,
* @param url 网络url
* @param params 请求网络携带的参数
*/
public void loadData(String url, RequestParams params) {
net.sendGetRequest(url, params, new NetUtils.NetUtilsCallBack() {
@Override
public void getNetdata(String json) {
http:// if (json != null) {
Gson gson = new Gson();
DynamicBean bean = gson.fromJson(json, DynamicBean.class);
List
listener.getDynamicData(data, false);
if(data ==null||data.size() <=0 ){
listener.friendsNoData(false);
LLog.e("没有数据-----");
}
}
}
@Override
public void loadError(int a) {
showError(a, mContext);
}
});
}
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~