MVP
来源:互联网 发布:javascript cookie实例 编辑:程序博客网 时间:2024/06/03 18:46
实现思路
MainActivity
有一个getData的方法
里面new presenter
presenter里有一个方法getViewurl(String url),这个方法里new Model,调Model的方法。还要写Mainctivity
给一个有参构造器,在实现的方法里面调Mainctivity的方法
molde里写一个presenter,给一个有参构造器,然后在Mainctivity实现的方法里写解析
molde本来的方法getPreseterurl(String url)
这里调用封装的OK
然后调presenter实现接口的方法
先写接口
MyView里getperesenter(String json)
MyModel里getpresenterurl(String url)
MyPresenter里getmodel(String json)
Model实现MyModel
Presenter实现MyPresenter
View实现MyView
V层
package view;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.widget.Toast;import com.google.gson.Gson;import java.util.List;import bean.Bewan;import jiekou.MyView;import kaoshi.mmvvpp.R;import presenter.Presenter;public class MainActivity extends AppCompatActivity implements MyView{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getData(); } public void getData(){ Presenter presenter = new Presenter(this); presenter.getViewUrl("http://120.27.23.105/ad/getAd"); } @Override public void getPRESENTERJson(final String json) { runOnUiThread(new Runnable() { @Override public void run() { Gson gson = new Gson(); Bewan bewan = gson.fromJson(json, Bewan.class); List<Bewan.DataBean> data = bewan.getData(); String title = data.get(0).getTitle(); Toast.makeText(MainActivity.this,title,Toast.LENGTH_SHORT).show(); } }); }}P层
package presenter;import jiekou.MyPresenter;import model.Model;import view.MainActivity;/** * Created by 爱新觉罗璎汉 on 2017/12/20. */public class Presenter implements MyPresenter{ MainActivity mainActivity; public Presenter(MainActivity mainActivity) { this.mainActivity = mainActivity; } public void getViewUrl(String url){ Model model = new Model(this); model.getPresenterUrl(url); } @Override public void getModelJson(String json) { mainActivity.getPRESENTERJson(json); }}M层
package model;import java.io.IOException;import jiekou.MyModel;import okhttp3.Call;import okhttp3.Callback;import okhttp3.Response;import presenter.Presenter;import util.OkHttp3Utils;/** * Created by 爱新觉罗璎汉 on 2017/12/20. */public class Model implements MyModel { Presenter presenter; public Model(Presenter presenter) { this.presenter = presenter; } @Override public void getPresenterUrl(String url) { OkHttp3Utils.doGet(url, new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { if(response.isSuccessful()){ String string = response.body().string(); presenter.getModelJson(string); } } }); }}M层接口
public interface MyModel { void getPresenterUrl(String url);}
P层接口
public interface MyPresenter { void getModelJson(String json);}V层接口
public interface MyView { void getPRESENTERJson(String json);}
阅读全文
0 0
- MVP
- MVP
- MVP
- MVP
- MVP
- MVP
- MVP
- MVP
- mvp
- MVP
- MVP
- mvp
- MVP
- MVP
- MVP
- MVP
- MVP
- MVP
- spring,mbatis整合报错:Mapped Statements collection does not contain
- 曙光HPC首席科学家吉青:高性能计算不只AI,曙光更注重技术创新
- RecyclerView的上拉加载
- C/C++之回调函数
- 一次web项目首页压测记录(未完)
- MVP
- x = data[:,0] 的含义
- GC区分垃圾的算法及Java虚拟机中的分代
- 阿里云天气api调用方法。
- a与&a的区别
- 安装Scrapy遇到的坑(python)
- 批处理中的&、&&、|、||、>、>>符号
- 当安装好Xgboost后当调用其函数出现``` AttributeError: module 'xgboost' has no attribute 'feature_importance_'
- 时间戳转换