要在build.gradle里面添加这句话
compile ‘com.youth.banner:banner:1.4.9’
MyApplication 类
package com.example.banner;
import android.app.Application;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
/**
* author:Created by WangZhiQiang on 2017/10/23.
*/
public class MyApplication extends Application{
@Override
public void onCreate() {
super.onCreate();
ImageLoaderConfiguration imageLoaderConfiguration=new ImageLoaderConfiguration.Builder(this).build();
ImageLoader.getInstance().init(imageLoaderConfiguration);
}
}
主方法
package com.example.banner;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import com.google.gson.Gson;
import com.youth.banner.Banner;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private Banner banner;
private StringBuilder stringBuilder;
private List<bean.DataScrollBean> list;
private List<String> data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Mytask mytask=new Mytask();
mytask.execute("http://www.93.gov.cn/93app/data.do?channelId=0&startNum=0");
data = new ArrayList<>();
}
class Mytask extends AsyncTask<String,Void,String>{
@Override
protected String doInBackground(String... strings) {
try {
//获取url
URL url = new URL(strings[0]);
//请求网络
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
int code = urlConnection.getResponseCode();
//判断是否返回成功
if (code == 200) {
//获取网络信息
InputStream inputStream = urlConnection.getInputStream();
BufferedReader bf = new BufferedReader(new InputStreamReader(inputStream));
stringBuilder = new StringBuilder();
String s = "";
//拼接
while ((s = bf.readLine()) != null) {
stringBuilder.append(s);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return stringBuilder.toString();
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
bean json = gson.fromJson(s, bean.class);
list = json.getDataScroll();
//http://www.93.gov.cn/+
for(int i=0;i<list.size();i++){
data.add("http://www.93.gov.cn/"+list.get(i).getIMAGEURL());
Log.d("zzz","&&&&:"+"http://www.93.gov.cn/"+list.get(i).getIMAGEURL());
}
banner = (Banner) findViewById(R.id.Banner);
//设置banner样式
// banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);
//设置图片加载器
banner.setImageLoader(new GlideImageLoader());
//设置图片集合
banner.setImages(data);
//设置banner动画效果
//banner.setBannerAnimation(Transformer.RotateDown);
//设置标题集合(当banner样式有显示title时)
//banner.setBannerTitles(imageTitle);
//设置轮播时间
banner.setDelayTime(1500);
//设置指示器位置(当banner模式中有指示器时)
//banner.setIndicatorGravity(BannerConfig.CENTER);
//banner设置方法全部调用完毕时最后调用
banner.start();
}
}
}
GlideImageLoader 类
package com.example.banner;
import android.content.Context;
import android.widget.ImageView;
import com.youth.banner.loader.ImageLoader;
/**
* author:Created by WangZhiQiang on 2017/10/23.
*/
public class GlideImageLoader extends ImageLoader {
public void displayImage(Context context, Object path, ImageView imageView) {
com.nostra13.universalimageloader.core.ImageLoader instance = com.nostra13.universalimageloader.core.ImageLoader.getInstance();
instance.displayImage((String) path, imageView);
}
}
bean类
package com.example.banner;
import java.util.List;
/**
* author:Created by WangZhiQiang on 2017/10/23.
*/
public class bean {
private String result;
private List<DataBean> data;
private List<DataScrollBean> dataScroll;
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public List<DataScrollBean> getDataScroll() {
return dataScroll;
}
public void setDataScroll(List<DataScrollBean> dataScroll) {
this.dataScroll = dataScroll;
}
public static class DataBean {
private String ID;
private String TITLE;
private String SUBTITLE;
private Object IMAGEURL;
private String FROMNAME;
private String SHOWTIME;
private int RN;
public String getID() {
return ID;
}
public void setID(String ID) {
this.ID = ID;
}
public String getTITLE() {
return TITLE;
}
public void setTITLE(String TITLE) {
this.TITLE = TITLE;
}
public String getSUBTITLE() {
return SUBTITLE;
}
public void setSUBTITLE(String SUBTITLE) {
this.SUBTITLE = SUBTITLE;
}
public Object getIMAGEURL() {
return IMAGEURL;
}
public void setIMAGEURL(Object IMAGEURL) {
this.IMAGEURL = IMAGEURL;
}
public String getFROMNAME() {
return FROMNAME;
}
public void setFROMNAME(String FROMNAME) {
this.FROMNAME = FROMNAME;
}
public String getSHOWTIME() {
return SHOWTIME;
}
public void setSHOWTIME(String SHOWTIME) {
this.SHOWTIME = SHOWTIME;
}
public int getRN() {
return RN;
}
public void setRN(int RN) {
this.RN = RN;
}
}
public static class DataScrollBean {
private String ID;
private String TITLE;
private Object SUBTITLE;
private String IMAGEURL;
private String FROMNAME;
private String SHOWTIME;
private int RN;
public String getID() {
return ID;
}
public void setID(String ID) {
this.ID = ID;
}
public String getTITLE() {
return TITLE;
}
public void setTITLE(String TITLE) {
this.TITLE = TITLE;
}
public Object getSUBTITLE() {
return SUBTITLE;
}
public void setSUBTITLE(Object SUBTITLE) {
this.SUBTITLE = SUBTITLE;
}
public String getIMAGEURL() {
return IMAGEURL;
}
public void setIMAGEURL(String IMAGEURL) {
this.IMAGEURL = IMAGEURL;
}
public String getFROMNAME() {
return FROMNAME;
}
public void setFROMNAME(String FROMNAME) {
this.FROMNAME = FROMNAME;
}
public String getSHOWTIME() {
return SHOWTIME;
}
public void setSHOWTIME(String SHOWTIME) {
this.SHOWTIME = SHOWTIME;
}
public int getRN() {
return RN;
}
public void setRN(int RN) {
this.RN = RN;
}
}
}
xml类
<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout tools:context="com.example.banner.MainActivity" android:layout_height="match_parent" android:layout_width="match_parent" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android">
<com.youth.banner.Banner android:id="@+id/Banner" android:layout_height="200dp" android:layout_width="match_parent"/>
</RelativeLayout>