Banner的简单实现

Banner的简单实现_第1张图片

这篇博客就是一个简单的用OkHttp从网上请求一些图片最后用banner展示出来,首先我们先自己定义一个类继承ImageLoader

public class MyApps extends ImageLoader {
    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {
        Glide.with(context).load(path).into(imageView);
    }
}
OkHttp的封装和Bean类我就不写了,直接就写主方法的类了

public class MainActivity extends AppCompatActivity {

    private Banner bnr;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //找控件
        bnr = findViewById(R.id.bnr);
        //请求数据
        initData();
    }

    private void initData() {
        OkHttp.getAsync("http://www.babybuy100.com/API/getShopOverview.ashx", new OkHttp.DataCallBack() {
            @Override
            public void requestFailure(Request request, IOException e) {
                Toast.makeText(MainActivity.this,"请求失败",Toast.LENGTH_SHORT).show();
            }

            @Override
            public void requestSuccess(String result) throws Exception {
               //gson解析
                Gson gson = new Gson();
                Bean bean = gson.fromJson(result,Bean.class);
                //轮播
                List lists = new ArrayList<>();
                for (int i = 0; i < bean.getResult().getAdvs().size(); i++) {
                    lists.add(bean.getResult().getAdvs().get(i).getPic());
                }
                bnr.setImageLoader(new MyApps());
                bnr.setImages(lists);
                bnr.start();
            }
        });
    }
}
主方法的布局




   


最后 写完不要忘记依赖和网络请求的权限


你可能感兴趣的:(Android网络请求)