1.
.依赖banner
dependencies{
compile 'com.youth.banner:banner:1.4.9' //最新版本
compile 'com.youth.banner:banner:1.4.9' //最新版本
compile
'org.xutils:xutils:3.5.0'
compile
'com.google.code.gson:gson:2.8.1'
compile
'com.github.bumptech.glide:glide:4.0.0-RC1'
}
}
2.
.添加权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
3.代码:
BaseApplication:
import android.app.Application; import org.xutils.*; import org.xutils.BuildConfig; public class BaseApplication extends Application { @Override public void onCreate() { super.onCreate(); x.Ext.init(this); x.Ext.setDebug(BuildConfig.DEBUG); } }
Data: import java.util.List; public class Data { /** * code : 200 * data : {"infos":[{"action":"","action_type":0,"banners":[{"chapter_count":6,"good_alias":"","good_price":"","hybrid_url":"","id":878,"pic":"http://f2.kkmh.com/image/170203/xxgdiyto4.webp","request_id":"-1","special_list_url":"","sub_title":"","target_app_url":"","target_id":1023,"target_package_name":"","target_title":"浪漫香气","target_web_url":"","type":2},{"chapter_count":6,"good_alias":"","good_price":"","hybrid_url":"","id":1519,"pic":"http://f2.kkmh.com/image/170515/9a0wp5q7d.webp","request_id":"-1","special_list_url":"","sub_title":"","target_app_url":"","target_id":903,"target_package_name":"","target_title":"别闹我想静静","target_web_url":"","type":2},{"chapter_count":6,"good_alias":"","good_price":"","hybrid_url":"","id":987,"pic":"http://f2.kkmh.com/image/170509/nmmum3mpf.webp","request_id":"-1","special_list_url":"","sub_title":"","target_app_url":"","target_id":1033,"target_package_name":"","target_title":"山神与小枣","target_web_url":"","type":2},{"chapter_count":6,"good_alias":"","good_price":"","hybrid_url":"","id":1673,"pic":"http://f2.kkmh.com/image/170527/75f0yq69c.webp","request_id":"-1","special_list_url":"","sub_title":"","target_app_url":"","target_id":133,"target_package_name":"","target_title":"贫穷父女","target_web_url":"","type":2},{"chapter_count":6,"good_alias":"","good_price":"","hybrid_url":"","id":1494,"pic":"http://f2.kkmh.com/image/170512/ro0o5mhx2.webp","request_id":"-1","special_list_url":"","sub_title":"","target_app_url":"","target_id":1098,"target_package_name":"","target_title":"悲伤的拳头","target_web_url":"","type":2},{"chapter_count":6,"good_alias":"","good_price":"","hybrid_url":"","id":1420,"pic":"http://f2.kkmh.com/image/170505/b41vd2w9h.webp","request_id":"-1","special_list_url":"","sub_title":"","target_app_url":"","target_id":1095,"target_package_name":"","target_title":"窈窕淑男","target_web_url":"","type":2}],"item_type":1,"title":"新版轮播图"}],"scheme":[]} * message : ok */ private int code; private DataBean data; private String message; public int getCode() { return code; } public void setCode(int code) { this.code = code; } public DataBean getData() { return data; } public void setData(DataBean data) { this.data = data; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public static class DataBean { private List<InfosBean> infos; private List<?> scheme; public List<InfosBean> getInfos() { return infos; } public void setInfos(List<InfosBean> infos) { this.infos = infos; } public List<?> getScheme() { return scheme; } public void setScheme(List<?> scheme) { this.scheme = scheme; } public static class InfosBean { /** * action : * action_type : 0 * banners : [{"chapter_count":6,"good_alias":"","good_price":"","hybrid_url":"","id":878,"pic":"http://f2.kkmh.com/image/170203/xxgdiyto4.webp","request_id":"-1","special_list_url":"","sub_title":"","target_app_url":"","target_id":1023,"target_package_name":"","target_title":"浪漫香气","target_web_url":"","type":2},{"chapter_count":6,"good_alias":"","good_price":"","hybrid_url":"","id":1519,"pic":"http://f2.kkmh.com/image/170515/9a0wp5q7d.webp","request_id":"-1","special_list_url":"","sub_title":"","target_app_url":"","target_id":903,"target_package_name":"","target_title":"别闹我想静静","target_web_url":"","type":2},{"chapter_count":6,"good_alias":"","good_price":"","hybrid_url":"","id":987,"pic":"http://f2.kkmh.com/image/170509/nmmum3mpf.webp","request_id":"-1","special_list_url":"","sub_title":"","target_app_url":"","target_id":1033,"target_package_name":"","target_title":"山神与小枣","target_web_url":"","type":2},{"chapter_count":6,"good_alias":"","good_price":"","hybrid_url":"","id":1673,"pic":"http://f2.kkmh.com/image/170527/75f0yq69c.webp","request_id":"-1","special_list_url":"","sub_title":"","target_app_url":"","target_id":133,"target_package_name":"","target_title":"贫穷父女","target_web_url":"","type":2},{"chapter_count":6,"good_alias":"","good_price":"","hybrid_url":"","id":1494,"pic":"http://f2.kkmh.com/image/170512/ro0o5mhx2.webp","request_id":"-1","special_list_url":"","sub_title":"","target_app_url":"","target_id":1098,"target_package_name":"","target_title":"悲伤的拳头","target_web_url":"","type":2},{"chapter_count":6,"good_alias":"","good_price":"","hybrid_url":"","id":1420,"pic":"http://f2.kkmh.com/image/170505/b41vd2w9h.webp","request_id":"-1","special_list_url":"","sub_title":"","target_app_url":"","target_id":1095,"target_package_name":"","target_title":"窈窕淑男","target_web_url":"","type":2}] * item_type : 1 * title : 新版轮播图 */ private String action; private int action_type; private int item_type; private String title; private List<BannersBean> banners; public String getAction() { return action; } public void setAction(String action) { this.action = action; } public int getAction_type() { return action_type; } public void setAction_type(int action_type) { this.action_type = action_type; } public int getItem_type() { return item_type; } public void setItem_type(int item_type) { this.item_type = item_type; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public List<BannersBean> getBanners() { return banners; } public void setBanners(List<BannersBean> banners) { this.banners = banners; } public static class BannersBean { /** * chapter_count : 6 * good_alias : * good_price : * hybrid_url : * id : 878 * pic : http://f2.kkmh.com/image/170203/xxgdiyto4.webp * request_id : -1 * special_list_url : * sub_title : * target_app_url : * target_id : 1023 * target_package_name : * target_title : 浪漫香气 * target_web_url : * type : 2 */ private int chapter_count; private String good_alias; private String good_price; private String hybrid_url; private int id; private String pic; private String request_id; private String special_list_url; private String sub_title; private String target_app_url; private int target_id; private String target_package_name; private String target_title; private String target_web_url; private int type; public int getChapter_count() { return chapter_count; } public void setChapter_count(int chapter_count) { this.chapter_count = chapter_count; } public String getGood_alias() { return good_alias; } public void setGood_alias(String good_alias) { this.good_alias = good_alias; } public String getGood_price() { return good_price; } public void setGood_price(String good_price) { this.good_price = good_price; } public String getHybrid_url() { return hybrid_url; } public void setHybrid_url(String hybrid_url) { this.hybrid_url = hybrid_url; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getPic() { return pic; } public void setPic(String pic) { this.pic = pic; } public String getRequest_id() { return request_id; } public void setRequest_id(String request_id) { this.request_id = request_id; } public String getSpecial_list_url() { return special_list_url; } public void setSpecial_list_url(String special_list_url) { this.special_list_url = special_list_url; } public String getSub_title() { return sub_title; } public void setSub_title(String sub_title) { this.sub_title = sub_title; } public String getTarget_app_url() { return target_app_url; } public void setTarget_app_url(String target_app_url) { this.target_app_url = target_app_url; } public int getTarget_id() { return target_id; } public void setTarget_id(int target_id) { this.target_id = target_id; } public String getTarget_package_name() { return target_package_name; } public void setTarget_package_name(String target_package_name) { this.target_package_name = target_package_name; } public String getTarget_title() { return target_title; } public void setTarget_title(String target_title) { this.target_title = target_title; } public String getTarget_web_url() { return target_web_url; } public void setTarget_web_url(String target_web_url) { this.target_web_url = target_web_url; } public int getType() { return type; } public void setType(int type) { this.type = type; } } } } }
MainActivity: import android.content.Context; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.ImageView; import com.bumptech.glide.Glide; import com.google.gson.Gson; import com.youth.banner.Banner; import com.youth.banner.loader.ImageLoader; import org.xutils.common.Callback; import org.xutils.http.RequestParams; import org.xutils.x; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private String urlPath = "http://api.kkmh.com/v1/topic_new/discovery_list?gender=0&sa_event=eyJwcm9qZWN0Ijoia3VhaWthbl9hcHAiLCJ0aW1lIjoxNDg3ODM5MDM5MzE1LCJwcm9wZXJ0aWVzIjp7IkhvbWVwYWdlVGFiTmFtZSI6IueDremXqCIsIlZDb21tdW5pdHlUYWJOYW1lIjoi54Ot6ZeoIiwiJG9zX3ZlcnNpb24iOiI0LjIuMiIsIkdlbmRlclR5cGUiOiLlpbPniYgiLCJGcm9tRmluZENhdGVnb3J5VGFiTmFtZSI6IuWFqOmDqCIsIklzQXV0b0xvYWQiOmZhbHNlLCIkbGliX3ZlcnNpb24iOiIxLjYuMzQiLCIkbmV0d29ya190eXBlIjoiV0lGSSIsIiR3aWZpIjp0cnVlLCIkbWFudWZhY3R1cmVyIjoic2Ftc3VuZyIsIkZyb21GaW5kVGFiTmFtZSI6IuaOqOiNkCIsIiRzY3JlZW5faGVpZ2h0Ijo1NzYsIkNhdGVnb3J5Ijoi5peg5rOV6I635Y-WIiwiSG9tZXBhZ2VVcGRhdGVEYXRlIjowLCJQcm9wZXJ0eUV2ZW50IjoiUmVhZEZpbmRQYWdlIiwiRmluZFRhYk5hbWUiOiLmjqjojZAiLCJhYnRlc3RfZ3JvdXAiOjQ2LCIkc2NyZWVuX3dpZHRoIjoxMDI0LCJGaW5kQ2F0ZWdvcnlUYWJOYW1lIjoi5YWo6YOoIiwiJG9zIjoiQW5kcm9pZCIsIlRyaWdnZXJQYWdlIjoiSG9tZVBhZ2UiLCIkY2FycmllciI6IkNNQ0MiLCIkbW9kZWwiOiJHVC1QNTIxMCIsIiRhcHBfdmVyc2lvbiI6IjMuOC4xIn0sInR5cGUiOiJ0cmFjayIsImRpc3RpbmN0X2lkIjoiQTo5MDUxMDQyNzYzNzU1MTA5Iiwib3JpZ2luYWxfaWQiOiJBOjkwNTEwNDI3NjM3NTUxMDkiLCJldmVudCI6IlJlYWRGaW5kUGFnZSJ9\n"; private List<String> images = new ArrayList<>(); private List<String> titles = new ArrayList<>(); List<Data.DataBean.InfosBean.BannersBean> dataList = new ArrayList<>(); private Banner banner; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); x.view().inject(this); banner = (Banner) findViewById(R.id.banner); final RequestParams params = new RequestParams(urlPath); x.http().get(params, new Callback.CommonCallback<String>() { @Override public void onSuccess(String result) { Gson gson = new Gson(); Data data = gson.fromJson(result, Data.class); List<Data.DataBean.InfosBean> infos = data.getData().getInfos(); for (Data.DataBean.InfosBean in :infos) { List<Data.DataBean.InfosBean.BannersBean> banners = in.getBanners(); for (Data.DataBean.InfosBean.BannersBean ba:banners) { String pic = ba.getPic(); titles.add(pic); } } dataList.addAll(data.getData().getInfos().get(0).getBanners()); } @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { //设置图片加载器 banner.setImageLoader(new GlideImageLoader()); //设置图片集合 banner.setImages(titles); //设置时间 banner.setDelayTime(2000); //banner设置方法全部调用完毕时最后调用 banner.start(); } }); } class GlideImageLoader extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { //Glide 加载图片简单用法 Glide.with(context).load(path).into(imageView); } } }