博客
关于我
Android MVP实现接口Banner轮播图
阅读量:657 次
发布时间:2019-03-15

本文共 3809 字,大约阅读时间需要 12 分钟。

Mainactivity

package com.example.lunbo;import android.content.Context;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.ImageView;import android.widget.Toast;import com.bumptech.glide.Glide;import com.example.lunbo.bean.Result;import com.example.lunbo.bean.User;import com.example.lunbo.core.CallBacks;import com.example.lunbo.presenter.LunPresenter;import com.youth.banner.Banner;import com.youth.banner.loader.ImageLoader;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity implements CallBacks
>{ String url = "http://www.zhaoapi.cn/ad/getAd"; List
string = new ArrayList<>(); List
muser = new ArrayList<>(); private Banner banner; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取控件 banner = findViewById(R.id.banner); //创建presenter LunPresenter lunPresenter = new LunPresenter(this); lunPresenter.add(url); } //成功 @Override public void success(List
data) { Toast.makeText(this, ""+data.toString(), Toast.LENGTH_SHORT).show(); muser.addAll(data); //轮播图方法 mBanners(); } //失败 @Override public void fail(Result result) { Toast.makeText(this, ""+result.getMsg(), Toast.LENGTH_SHORT).show(); } //轮播图 private void mBanners() { banner.setImageLoader(new ImageLoader() { @Override public void displayImage(Context context, Object path, ImageView imageView) { // 使用Glide 加载图片 Glide.with(MainActivity.this).load(path).into(imageView); } }); // for循环 加载图片 for (int i = 0; i < muser.size(); i++) { String icon = muser.get(i).getIcon(); string.add(icon); } banner.setImages(string); // 设置 banner.start(); // 开始 }}

布局

Presenter层

package com.example.lunbo.presenter;import android.os.Handler;import android.os.Looper;import android.os.Message;import com.example.lunbo.MainActivity;import com.example.lunbo.bean.Result;import com.example.lunbo.core.CallBacks;import com.example.lunbo.model.LunModel;public class LunPresenter {    CallBacks callBacks;    public LunPresenter(CallBacks callBacks) {        this.callBacks=callBacks;    }    Handler handler = new Handler(Looper.getMainLooper()){        @Override        public void handleMessage(Message msg) {            Result result = (Result) msg.obj;            if (result.getCode()==0){                callBacks.success(result.getData());            }else {                callBacks.fail(result);            }        }    };    public void add(final String url) {        new Thread(new Runnable() {            @Override            public void run() {                Result result = LunModel.lun(url);                Message message = handler.obtainMessage();                message.obj=result;                handler.sendMessage(message);            }        }).start();    }}

Model

package com.example.lunbo.model;import com.example.lunbo.bean.Result;import com.example.lunbo.bean.User;import com.example.lunbo.utils.OkHttp;import com.google.gson.Gson;import com.google.gson.reflect.TypeToken;import java.lang.reflect.Type;import java.util.List;public class LunModel {    public static Result lun(String url){        String s = OkHttp.get(url);        Gson gson = new Gson();        Type type = new TypeToken
>>() {}.getType(); Result result = gson.fromJson(s, type); return result; }}

依赖

compile 'com.youth.banner:banner:1.4.9'

权限

转载地址:http://khfmz.baihongyu.com/

你可能感兴趣的文章
NIFI大数据进阶_NIFI集群知识点_认识NIFI集群以及集群的组成部分---大数据之Nifi工作笔记0014
查看>>
NIFI大数据进阶_NIFI集群知识点_集群的断开_重连_退役_卸载_总结---大数据之Nifi工作笔记0018
查看>>
NIFI大数据进阶_内嵌ZK模式集群1_搭建过程说明---大数据之Nifi工作笔记0015
查看>>
NIFI大数据进阶_外部ZK模式集群1_实际操作搭建NIFI外部ZK模式集群---大数据之Nifi工作笔记0017
查看>>
NIFI大数据进阶_实时同步MySql的数据到Hive中去_可增量同步_实时监控MySql数据库变化_操作方法说明_01---大数据之Nifi工作笔记0033
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_01_实际操作---大数据之Nifi工作笔记0029
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_02_实际操作_splitjson处理器_puthdfs处理器_querydatabasetable处理器---大数据之Nifi工作笔记0030
查看>>
NIFI大数据进阶_连接与关系_设置数据流负载均衡_设置背压_设置展现弯曲_介绍以及实际操作---大数据之Nifi工作笔记0027
查看>>
NIFI数据库同步_多表_特定表同时同步_实际操作_MySqlToMysql_可推广到其他数据库_Postgresql_Hbase_SqlServer等----大数据之Nifi工作笔记0053
查看>>
NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南001---大数据之Nifi工作笔记0068
查看>>
NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南002---大数据之Nifi工作笔记0069
查看>>
NIFI集群_内存溢出_CPU占用100%修复_GC overhead limit exceeded_NIFI: out of memory error ---大数据之Nifi工作笔记0017
查看>>
NIFI集群_队列Queue中数据无法清空_清除队列数据报错_无法删除queue_解决_集群中机器交替重启删除---大数据之Nifi工作笔记0061
查看>>
NIH发布包含10600张CT图像数据库 为AI算法测试铺路
查看>>
Nim教程【十二】
查看>>
Nim游戏
查看>>
NIO ByteBuffer实现原理
查看>>
Nio ByteBuffer组件读写指针切换原理与常用方法
查看>>
NIO Selector实现原理
查看>>
nio 中channel和buffer的基本使用
查看>>