Android实战之淘宝领券(四)

本文主要介绍了Android应用中实现淘宝领券功能的接口设计与实现过程。首先,通过定义IHomePresenter接口及IHomeCallback回调接口来处理首页数据请求,包括获取分类信息。接着,详细阐述了如何使用Retrofit进行网络请求,包括retrofitManger的单例管理、Api接口设计以及HomePresentImpl的实现。在接口实现过程中,针对不同状态如成功、失败、空内容和加载中进行了处理。
摘要由CSDN通过智能技术生成

上一篇,写到首页的布局,这一篇写首页接口以及接口的实现

首页接口分析

对于presenter,我们要定义接口,在创建的时候返回接口,这样子就不用暴露实现方式了。对于View层,可以直接通过Presenter的接口来调用具体的实现内容。
对于首页来说,只有一个功能,就是获取分类。
有同学说,那我们下面的内容怎么办呢?
下面的具体内容,根据分类来获取,交给特定的Presenter,分开来。
也可以写在一起,看具体怎么理解。
除了Presenter需要接口,我们也需要注册View的回调接口,用来通知UI。
对于首页的Presenter接口,我们叫IHomePresenter
View的更新接口叫做,IHomeCallbacak.
对于获取的分类,我们有这些状态

  • 获取成功
  • 获取失败(一般是网络原因)
  • 内容为空
  • 加载中

接口代码

IHomePresenter.java

public interface IHomePresenter  {
   
    /**
     * 获取商品分类
     */
    void getCategories();

    /**
     * 注册UI通知接口
     *
     * @param callback
     */
    void registerViewCallback(IHomeCallback callback);

    /**
     * 取消UI通知的接口
     *
     * @param callback
     */
    void unregisterViewCallback(IHomeCallback callback);
    
}

IHomeCallback.java

public interface IHomeCallback  {
   

    void onCategoriesLoaded(Categories categories);

    void onNetworkError();

    void onLoading();

    void onEmpty();
    
}

Bean类 Categories

package com.sunofbeaches.taobaounion.model.domain;

import java.util.List;

public class Categories {
   


    /**
     * success : true
     * code : 10000
     * message : 获取分类成功.
     * data : [{"id":9660,"title":"推荐"},{"id":9649,"title":"食品"}]
     */

    private boolean success;
    private int code;
    private String message;
    private List<DataBean> data;

    public boolean isSuccess() {
   
        return success;
    }

    public void setSuccess(boolean success) {
   
        this.success = success;
    }

    public int getCode
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值