Gildeロードネットワークイメージ+Banner輪播図

5765 ワード

Glideの詳細はGlideの紹介を紹介します。
ホームページレイアウト
    <com.youth.banner.Banner
        android:id="@+id/banner"
        android:layout_width="wrap_content"
        android:layout_height="150dp" />
ホームページ
public class MainActivity extends AppCompatActivity {

    private Banner mbanner;
    String mpath = "http://120.27.23.105/ad/getAd";
    List mlist;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        InitData(mpath);
        mbanner = (Banner) findViewById(R.id.banner);
    }

    private void InitData(String mpath) {
        new MyasycTack().execute(mpath);
    }

    class MyasycTack extends AsyncTask {

        private ProBean proBean;

        @Override
        protected String doInBackground(String... params) {
            return NetWorkUtils.getJson(params[0]);
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            Log.d("onPostExecute", "onCreate: " + s);
            Gson mgson = new Gson();
            proBean = mgson.fromJson(s, ProBean.class);

            for (int i = 0; i < proBean.getData().size(); i++) {
                String ad1s = proBean.getData().get(i).getIcon();
                mlist = new ArrayList();
                mlist.add(ad1s);
                //       
                mbanner.setImageLoader(new GlideImaGlideImageLoader());
                mbanner.setImages(mlist);
                mbanner.start();
            }
        }
    }
}
ツールクラス
public class NetWorkUtils {

    public static String getJson(String uristring) {
        try {
            URL url = new URL(uristring);
            HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
            urlConnection.setRequestMethod("GET");
            urlConnection.setReadTimeout(8000);
            int responseCode = urlConnection.getResponseCode();

            if (responseCode == 200) {
                //         
                InputStream inputStream = urlConnection.getInputStream();
                StringBuilder builder = new StringBuilder();
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
                String data = "";
                while ((data = bufferedReader.readLine()) != null) {
                    builder.append(data);
                }
                return builder.toString();
            }

        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "";
    }
}
Glide画像ロードクラス
public class GlideImaGlideImageLoader extends ImageLoader {
    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {
        Glide.with(context).load(path).into(imageView);
    }
}
ビーンタイプのアドレスを取得するBean類