美文网首页
Mvp应用方法

Mvp应用方法

作者: 玖玖君 | 来源:发表于2019-07-10 20:23 被阅读0次

创建包

 api 
 bean 
 callBack 
 model 
 presenter
 view
    

api里面写

    OneApiServer
        String baseUrl="http://gank.io/api/data/";
    @GET("%E7%A6%8F%E5%88%A9/20/1")
    Observable<DayEightBean>getData();

bean写bean包

    callback(interface)里面写
    //成功
        void onSuccess(List<Bean> bean);
    //失败
    void onFail(String fail);
        
    !!model里写
    ··Model
    public interface Model {
    void getData(OneCallBack oneCallBack);
    }

ImpModel

    public class ImpNewsMedel extends Activity implements NewsModel {
    private int page=0;
    public static int clear(int a){
        return a=0;
    }
    public void onResume() {
        super.onResume();
    }

    @Override
    public void getNewlsit(final FlCallback flCallback) {
        Retrofit retrofit = new Retrofit.Builder()
                .addConverterFactory(GsonConverterFactory.create())
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                .baseUrl(NewsServer.baseUrl)
                .build();

        NewsServer newsServer = retrofit.create(NewsServer.class);
        Observable<NewsBean> observable = newsServer.getUrl("20/"+page+++"");
        observable.subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Observer<NewsBean>() {
                    @Override
                    public void onSubscribe(Disposable d) {

                    }

                    @Override
                    public void onNext(NewsBean newsBean) {
                    flCallback.onSuccess(newsBean);
                    }

                    @Override
                    public void onError(Throwable e) {
                    flCallback.onFail("net error:"+e.getMessage());
                    }

                    @Override
                    public void onComplete() {

                    }
                });
    }

}

presenter里写
··Presenter

    public interface NewsPresenter {
    void getData();
}

ImpPresenter

public class Imppresenter implements Adpresenter, Adcallback {
    private Admodel admodel;
    private Adview adview;

    public Imppresenter(Impmodel impmodel, Adview adview) {
        this.admodel = impmodel;
        this.adview = adview;
    }

    @Override
    public void getData() {
        if (admodel!=null){
            admodel.getData(this);
        }

    }

    @Override
    public void onSuccess(AdBean adBean) {
        if (adview!=null){
            adview.onSuccess(adBean);
        }
    }

    @Override
    public void onFail(String fail) {
        if (adview!=null){
            adview.onFail(fail);
        }
    }

View

    public interface NewsView {
    void onSuccess(NewsBean newsBean);
    void onFail(String error);
}

相关文章

  • Mvp应用方法

    创建包 api里面写 bean写bean包 ImpModel presenter里写··Presenter Imp...

  • Android MVP 模式--让你的代码更加清晰,给你的代码瘦

    参考文献 浅谈 MVP in Android、MVP模式在Android开发中的应用 一、MVP VS MVC 1...

  • MVP应用架构模式

    最近通过《Android源码设计模式解析与实战》对MVP应用架构进行了了解,摘其重点记录于此。 MVP简介 MVP...

  • Dagger2 Demo

    .MVP模式简介 我们的目标是实现MVP模式来开发我们的应用,那首先得知道什么是MVP模式。下面这篇文章讲述得通俗...

  • Android MVP实战讲解

    随着MVP模式的日渐深入,MVP模式的应用也越来越广泛。今天我为大家介绍一下MVP设计模式。什么是MVPMVP是模...

  • mvp 在 flutter 中的应用

    在 Android 应用程序开发过程中,我们经常会用到一些所谓的架构方法,如:mvp,mvvm,clean等。之所...

  • Android架构:RxJava+MVVM

    MVP的一些小问题 说到Android应用开发的架构,大多数人可能都会说出MVP。 的确,MVP架构的出现为我们的...

  • Android开发中的的MVP模式

    MVP,全称 Model-View-Presenter1,为什么使用MVP? 大部分的安卓应用只使用View-Mo...

  • MVVM基础篇

    Android 官方推荐的应用架构如下图: MVP、MVVM区别 MVP 和 MVVM 都是为了解决界面和数据的分...

  • Android MVP 架构介绍与使用入门

    MVP 与 MVC 简介 MVP 软件架构在现在的应用中, 特别是 Android 端的编程中尤为突出的使用,因为...

网友评论

      本文标题:Mvp应用方法

      本文链接:https://www.haomeiwen.com/subject/aepkkctx.html