国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

接口回調——分享項目開發中的接口回調demo

2019-11-09 18:59:15
字體:
來源:轉載
供稿:網友

最近在做一個教育類的項目,在開發中大量使用了接口回調來完成網絡請求傳遞數據,特意在這里分享一下自己的心得。

首先官方對接口回調的定義是這樣的,所謂回調:就是A類中調用B類中的某個方法C,然后B類中反過來調用A類中的方法D,D這個方法就叫回調方法。這樣聽起來有點繞,我們可以這么理解接口回調:比如我們想知道隔壁老王啥時候回家?但是我們有自己的事情做不能一直監視著老王,那么我們可以雇員小區的保安來完成這個任務,當老王回家口,保安就給我們打電話告訴我們,老王回來了!這樣就完成了一個事件的傳遞;

首先我們定義了一個接口:

public interface DynamicMessageListener {/** * 獲取網絡數據, * @param bean bean 對象 */void getDynamicData(List<DynamicBean.DataBean> bean, boolean isMore);}   
    定義一個類實現這個接口:
public class DynamicFragment extends Fragment implements DynamicMessageListener {//初始化監聽者    PRivate DynamicMessageListener listener;/**     * 獲取網絡數據     *     * @param bean bean 對象     */    @Override    public void getDynamicData(List<DynamicBean.DataBean> bean, boolean isMore) {        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) {                if (json != null) {                    Gson gson = new Gson();                    DynamicBean bean = gson.fromJson(json, DynamicBean.class);                    List<DynamicBean.DataBean> data = bean.getData();                    listener.getDynamicData(data, false);                    if(data ==null||data.size() <=0 ){                        listener.friendsNoData(false);                        LLog.e("沒有數據-----");                    }                }            }            @Override            public void loadError(int a) {                showError(a, mContext);            }        });    }}to


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南投市| 堆龙德庆县| 西吉县| 锡林浩特市| 额济纳旗| 阳新县| 建宁县| 集安市| 法库县| 化德县| 临朐县| 崇阳县| 登封市| 遵义县| 霍山县| 瓮安县| 顺昌县| 汉寿县| 汉中市| 柞水县| 凤庆县| 五原县| 区。| 仪陇县| 谷城县| 虞城县| 蓝山县| 嘉峪关市| 汉中市| 贵溪市| 榆树市| 黑山县| 怀远县| 灌阳县| 溧阳市| 新宾| 偃师市| 泸州市| 高阳县| 墨竹工卡县| 平昌县|