MVP框架 简单使用
来源:互联网 发布:华理网络教育登录平台 编辑:程序博客网 时间:2024/05/22 14:37
//关于接口地址的封装public class APIMain { public static String mainUrl = "https://www.zhaoapi.cn/ad/getAd";}//view层public class MainActivity extends AppCompatActivity implements IMainView{ private Presenter presenter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /* mvp * //当要获取数据的时候,通知presenter,,,presenter再去通知model获取数据 //view层有一个presenter的引用,,,,presenter要有model的应用 //model获取的道具之后,传给presenter...presnter再去传给view层 //接口回调....model里面有presenter实现了接口的引用....presenter需要有view实现了接口的引用 //view层有一个presenter的引用 * */ presenter = new Presenter(this); presenter.getData(APIMain.mainUrl); } @Override public void onSuccess(final DataDataBean dataBean) { //数据拿回来解析 runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this,dataBean.getData().get(0).getTitle(),Toast.LENGTH_SHORT).show(); } }); } @Override public void onError() { }}------------------接口-----------------public interface IMainView { void onSuccess(DataDataBean dataBean); void onError();}//presenter层
public class Presenter implements IMainP{ private IMainView iMainView; public Presenter(IMainView iMainView) { this.iMainView = iMainView; } private ModelImp modelImp; public void getData(String mainUrl) { //通知model去解析数据 modelImp = new ModelImp(this); modelImp.getData(mainUrl); } @Override public void onSuccess(DataDataBean dataBean) { iMainView.onSuccess(dataBean); } @Override public void onError() { }}----------------接口-----------public interface IMainP { void onSuccess(DataDataBean dataBean); void onError();}//model层
public class ModelImp { private IMainP iMainP; public ModelImp(IMainP iMainP) { this.iMainP = iMainP; } //解析数据的方法 public void getData(String mainUrl) { OkHttpClient okhttp=new OkHttpClient(); Request request = new Request.Builder() .url(mainUrl) .build(); okhttp.newCall(request).enqueue(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(); DataDataBean dataDataBean = new Gson().fromJson(string, DataDataBean.class); //通过接口回调 将解析出来的信息返回去 iMainP.onSuccess(dataDataBean); } } }); }}
阅读全文
0 0
- MVP框架 简单使用
- mvp框架的简单使用
- Android框架模式之-MVP简单使用
- Android MVP框架和简单的使用
- 简单的MVP框架
- MVP的简单使用
- mvp简单使用
- MVP的简单使用
- Mvp简单使用
- MVP的简单使用
- MVP简单使用+RecyclerView
- 使用MVP打造项目框架
- Android框架之MVP实践简单万花筒
- RxJava2+MVP+Retrofit框架简单实现RecyclerView
- 简单MVP框架(OKHTTP请求数据)
- 框架模式MVP在Android中的使用
- 框架模式MVP在Android中的使用
- 框架模式MVP在Android中的使用
- python main()函数
- 阶梯Nim 与【JZOJ 5500】 营养餐
- opencv读取图像,并获得像素值,图像高度和宽度不是4的倍数
- word应用
- Processing relative path 相对路径
- MVP框架 简单使用
- STM32系统学习——SPI(读写串行 FLASH)
- Linux下使用GitHub
- Machine Learning——推荐系统
- 织梦DEDECMS缩略图不清楚怎么办
- Java集合框架总结
- Geodatabase 理解
- Docker
- [JZOJ5498]【清华集训2017模拟12.10】大佬的难题