viewpage+fragment+tablayout+imageloder(代码)+适配+权限+依赖

接口: "http://gank.io/api/data/%E7%A6%8F%E5%88%A9/1/",
            "http://gank.io/api/data/%E7%A6%8F%E5%88%A9/2/",
            "http://gank.io/api/data/%E7%A6%8F%E5%88%A9/3/",
            "http://gank.io/api/data/%E7%A6%8F%E5%88%A9/4/"


权限: <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>


依赖:  compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
    compile 'com.youth.banner:banner:1.4.9'
    compile 'com.android.support:design:24.2.1'
    testCompile 'junit:junit:4.12'
    compile files('libs/gson-2.2.4.jar')
    compile 'com.github.userswlwork:pull-to-refresh:1.0.0'



xml页:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main"
    android:layout_width="match_parent" android:layout_height="match_parent"
    android:orientation="vertical"
    >

    <FrameLayout
        android:id="@+id/frag"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="9" />
    <RadioGroup
        android:id="@+id/rg"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"

        >
        <RadioButton
            android:id="@+id/bt1"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:button="@null"
            android:text="首页"
            android:layout_weight="1"
            android:layout_gravity="center"
            android:gravity="center"
            android:textSize="18dp"
            />
        <RadioButton
            android:id="@+id/bt2"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:button="@null"
            android:text="发现"
            android:layout_weight="1"
            android:gravity="center"
            android:textSize="18dp"
            />

        <RadioButton
            android:id="@+id/bt3"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:button="@null"
            android:text="下载"
            android:layout_weight="1"
            android:gravity="center"
            android:textSize="18dp"
            />

        <RadioButton
            android:id="@+id/bt4"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:button="@null"
            android:text="我的"
            android:textSize="18dp"
            android:layout_weight="1"
            android:gravity="center"
            />
	</RadioGroup>

</LinearLayout>



<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto">


    <android.support.design.widget.TabLayout
        android:id="@+id/tabLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:tabMode="scrollable"
        />
    <android.support.v4.view.ViewPager
        android:id="@+id/vp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/tabLayout"
        />


</RelativeLayout>


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#fff333">
    <com.handmark.pulltorefresh.library.PullToRefreshListView
        android:id="@+id/ptListView"
        android:layout_width="match_parent"
 	android:layout_height="match_parent"
	/>

</LinearLayout>



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ff2351">
    <com.handmark.pulltorefresh.library.PullToRefreshListView
        android:id="@+id/ptListView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
	/>

</LinearLayout>



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#435556">
    <com.handmark.pulltorefresh.library.PullToRefreshListView
        android:id="@+id/ptListView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"


        />

</LinearLayout>



<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"

    >
    <com.handmark.pulltorefresh.library.PullToRefreshScrollView
        android:id="@+id/psl"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <com.youth.banner.Banner
                android:id="@+id/banner"
                android:layout_width="match_parent"
                android:layout_height="100dp"/>

            <com.handmark.pulltorefresh.library.PullToRefreshListView
                android:id="@+id/ptListView"
                android:layout_width="match_parent"
                android:layout_height="700dp"
                android:layout_below="@id/banner"

                />

        </RelativeLayout>
	 </com.handmark.pulltorefresh.library.PullToRefreshScrollView>


</RelativeLayout>



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <TextView
        android:id="@+id/t1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />
    <TextView
        android:id="@+id/t2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <TextView
        android:id="@+id/t3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <TextView
        android:id="@+id/t4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <TextView
        android:id="@+id/t5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <ImageView
        android:id="@+id/img"
        android:layout_width="200sp"
        android:layout_height="200sp" />

</LinearLayout>



Activity页:

package com.example.sunrongzhen1511b20171118;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.widget.FrameLayout;
import android.widget.RadioGroup;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {


    ViewPager viewPager;

    private RadioGroup mRg;
    private FrameLayout mFrag;
    private Fragment01 f1;
    private Fragment02 f2;
    private Fragment03 f3;
    private Fragment04 f4;
    private List<Fragment> list;
    private FragmentManager manager;

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

        list = new ArrayList<Fragment>();
        f1=new Fragment01();
        f2=new Fragment02();
        f3=new Fragment03();
        f4=new Fragment04();

        list.add(f1);
        list.add(f2);
        list.add(f3);
        list.add(f4);

        manager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = manager.beginTransaction();
        fragmentTransaction.add(R.id.frag,list.get(0)).commit();
        mRg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                switch (checkedId){
                    case  R.id.bt1:
                        manager.beginTransaction().replace(R.id.frag,f1).commit();
                        break;
                    case  R.id.bt2:
                        manager.beginTransaction().replace(R.id.frag,f2).commit();
                        break;
                    case  R.id.bt3:
                        manager.beginTransaction().replace(R.id.frag,f3).commit();
                        break;
                    case  R.id.bt4:
                        manager.beginTransaction().replace(R.id.frag,f4).commit();
                        break;
                }
            }
        });

    }

    private void initView() {

        mRg = (RadioGroup) findViewById(R.id.rg);
        mFrag = (FrameLayout) findViewById(R.id.frag);
    }
}



package com.example.sunrongzhen1511b20171118;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import java.util.ArrayList;

/**
 * Created by Sun on 2017/11/18.
 */

public class Fragment01 extends Fragment {

    private TabLayout mTabLayout;
    private ViewPager mVp;
    String[] tabs = {"推荐", "课程", "实战", "职业路径"};
    private ArrayList<FragmentVp> l;
    private String[] urlS = {
            "http://gank.io/api/data/%E7%A6%8F%E5%88%A9/1/",
            "http://gank.io/api/data/%E7%A6%8F%E5%88%A9/2/",
            "http://gank.io/api/data/%E7%A6%8F%E5%88%A9/3/",
            "http://gank.io/api/data/%E7%A6%8F%E5%88%A9/4/"
    };
    private FragmentManager fm;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view=inflater.inflate(R.layout.f1,container,false);
        mTabLayout = (TabLayout) view.findViewById(R.id.tabLayout);
        mVp = (ViewPager) view.findViewById(R.id.vp);

        l = new ArrayList<FragmentVp>();
        fm = getActivity().getSupportFragmentManager();

        for (int i=0;i<tabs.length;i++){
            FragmentVp fragmentVp = new FragmentVp();
            Bundle bundle = new Bundle();
            bundle.putString("dataUrl",urlS[i]);

            fragmentVp.setArguments(bundle);
            l.add(fragmentVp);


            mTabLayout.addTab(mTabLayout.newTab().setText(tabs[i]));
        }

        MyVpApdater myVpApdater = new MyVpApdater(fm);

        mVp.setAdapter(myVpApdater);
        mTabLayout.setupWithViewPager(mVp);


        return view;
    }


    class  MyVpApdater extends FragmentPagerAdapter{

        public MyVpApdater(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {
            return l.get(position);
        }

        @Override
        public int getCount() {
            return l.size();
        }

        @Override
        public CharSequence getPageTitle(int position) {
            return tabs[position];
        }
    }
}



package com.example.sunrongzhen1511b20171118;

import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;

import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Sun on 2017/11/18.
 */

public class Fragment02 extends Fragment {
    private List<SuperClass.Bean> list = new ArrayList<SuperClass.Bean>();
    MyAdapter adapter;
    private View view;
    private PullToRefreshListView mPtListView;
    private String Json_Url = "http://gank.io/api/data/%E7%A6%8F%E5%88%A9/1/";
    int i = 1;


    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.f2, container, false);
        initView(view);
        adapter = new MyAdapter(getActivity(), list);
        login(Json_Url + i);
        mPtListView.setAdapter(adapter);


        mPtListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<ListView>() {
            @Override
            public void onRefresh(PullToRefreshBase<ListView> refreshView) {
                mPtListView.postDelayed(new Runnable() {
                    @Override
                    public void run() {

                        i = 1;
                        list.clear();
                        login(Json_Url + i);
                        mPtListView.onRefreshComplete();


                    }
                }, 1000);
            }
        });
        mPtListView.setOnLastItemVisibleListener(new PullToRefreshBase.OnLastItemVisibleListener() {
            @Override
            public void onLastItemVisible() {
                i++;
                login(Json_Url + i);

            }
        });


        return view;
    }

    private void login(String pamm) {
        new MyTask().execute(pamm);

    }


    private void initView(View view) {
        mPtListView = (PullToRefreshListView) view.findViewById(R.id.ptListView);
    }

    class MyTask extends AsyncTask<String, Integer, String> {

        @Override
        protected String doInBackground(String... params) {
            String jj = params[0];
            NetWorkUtils netWorkUtils = new NetWorkUtils();
            String data = netWorkUtils.getURL(jj);
            return data;
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            Gson gson = new Gson();
            SuperClass superClass = gson.fromJson(s, SuperClass.class);
            List<SuperClass.Bean> lists = superClass.getResults();


            list.addAll(lists);

            adapter.notifyDataSetChanged();

        }

    }
}



package com.example.sunrongzhen1511b20171118;

import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;

import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Sun on 2017/11/18.
 */

public class Fragment03 extends Fragment {
    private List<SuperClass.Bean> list = new ArrayList<SuperClass.Bean>();
    MyAdapter adapter;
    private View view;
    private PullToRefreshListView mPtListView;
    private String Json_Url = "http://gank.io/api/data/%E7%A6%8F%E5%88%A9/1/";
    int i = 1;


    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.f2, container, false);
        initView(view);
        adapter = new MyAdapter(getActivity(), list);
        login(Json_Url + i);
        mPtListView.setAdapter(adapter);


        mPtListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<ListView>() {
            @Override
            public void onRefresh(PullToRefreshBase<ListView> refreshView) {
                mPtListView.postDelayed(new Runnable() {
                    @Override
                    public void run() {

                        i = 1;
                        list.clear();
                        login(Json_Url + i);
                        mPtListView.onRefreshComplete();


                    }
                }, 1000);
            }
        });
        mPtListView.setOnLastItemVisibleListener(new PullToRefreshBase.OnLastItemVisibleListener() {
            @Override
            public void onLastItemVisible() {
                i++;
                login(Json_Url + i);

            }
        });


        return view;
    }

    private void login(String pamm) {
        new MyTask().execute(pamm);

    }


    private void initView(View view) {
        mPtListView = (PullToRefreshListView) view.findViewById(R.id.ptListView);
    }

    class MyTask extends AsyncTask<String, Integer, String> {

        @Override
        protected String doInBackground(String... params) {
            String jj = params[0];
            NetWorkUtils netWorkUtils = new NetWorkUtils();
            String data = netWorkUtils.getURL(jj);
            return data;
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            Gson gson = new Gson();
            SuperClass superClass = gson.fromJson(s, SuperClass.class);
            List<SuperClass.Bean> lists = superClass.getResults();


            list.addAll(lists);

            adapter.notifyDataSetChanged();

        }

    }
}



package com.example.sunrongzhen1511b20171118;

import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;

import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Sun on 2017/11/18.
 */

public class Fragment04 extends Fragment {
    private List<SuperClass.Bean> list = new ArrayList<SuperClass.Bean>();
    MyAdapter adapter;
    private View view;
    private PullToRefreshListView mPtListView;
    private String Json_Url = "http://gank.io/api/data/%E7%A6%8F%E5%88%A9/1/";
    int i = 1;


    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.f2, container, false);
        initView(view);
        adapter = new MyAdapter(getActivity(), list);
        login(Json_Url + i);
        mPtListView.setAdapter(adapter);


        mPtListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<ListView>() {
            @Override
            public void onRefresh(PullToRefreshBase<ListView> refreshView) {
                mPtListView.postDelayed(new Runnable() {
                    @Override
                    public void run() {

                        i = 1;
                        list.clear();
                        login(Json_Url + i);
                        mPtListView.onRefreshComplete();


                    }
                }, 1000);
            }
        });
        mPtListView.setOnLastItemVisibleListener(new PullToRefreshBase.OnLastItemVisibleListener() {
            @Override
            public void onLastItemVisible() {
                i++;
                login(Json_Url + i);

            }
        });


        return view;
    }

    private void login(String pamm) {
        new MyTask().execute(pamm);

    }


    private void initView(View view) {
        mPtListView = (PullToRefreshListView) view.findViewById(R.id.ptListView);
    }

    class MyTask extends AsyncTask<String, Integer, String> {

        @Override
        protected String doInBackground(String... params) {
            String jj = params[0];
            NetWorkUtils netWorkUtils = new NetWorkUtils();
            String data = netWorkUtils.getURL(jj);
            return data;
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            Gson gson = new Gson();
            SuperClass superClass = gson.fromJson(s, SuperClass.class);
            List<SuperClass.Bean> lists = superClass.getResults();


            list.addAll(lists);

            adapter.notifyDataSetChanged();

        }

    }
}



package com.example.sunrongzhen1511b20171118;

import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.ScrollView;

import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import com.handmark.pulltorefresh.library.PullToRefreshScrollView;
import com.youth.banner.Banner;

import java.util.ArrayList;
import java.util.List;


/**
 * Created by Sun on 2017/11/17.
 */

public class FragmentVp extends Fragment{

    private String dataUrl;
    private PullToRefreshListView listv;
    private String data;
    private List<SuperClass.Bean> list=new ArrayList<SuperClass.Bean>();
    MyAdapter adapter;
    int i=1;
    private Banner bann;
    String url = "http://pic39.nipic.com/20140226/18071023_164300608000_2.jpg";
    String url1 = "http://a0.att.hudong.com/15/08/300218769736132194086202411_950.jpg";
    String url2 = "https://img-my.csdn.net/uploads/201309/01/1378037235_7476.jpg";
    String url3 = "http://pic39.nipic.com/20140226/18071023_164300608000_2.jpg";
    String url4 = "http://a0.att.hudong.com/15/08/300218769736132194086202411_950.jpg";
    String url5 = "https://img-my.csdn.net/uploads/201309/01/1378037235_7476.jpg";
    ArrayList<String> urls;
    private View view;
    private PullToRefreshScrollView newLv;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view= inflater.inflate(R.layout.fragment_layout,container,false);
        listv = (PullToRefreshListView) view.findViewById(R.id.ptListView);
        bann = (Banner) view.findViewById(R.id.banner);
        newLv = (PullToRefreshScrollView) view.findViewById(R.id.psl);


        urls = new ArrayList<String>();

        urls.add(url);
        urls.add(url1);
        urls.add(url2);
        urls.add(url3);
        urls.add(url4);
        urls.add(url5);

        bann.setImageLoader(new MyBannerImageLoader());//添加自定义的图片加载器
        bann.setImages(urls);//设置图片资源
        bann.start();//开始轮播

        Bundle arguments = getArguments();//获得通过setArgument传的值
        dataUrl = getArguments().getString("dataUrl");//得到数据url

        adapter  = new MyAdapter(getActivity(), list);
        login(dataUrl+i);

        listv.setAdapter(adapter);

        newLv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ScrollView> refreshView) {
                newLv.postDelayed(new Runnable() {
                    @Override
                    public void run() {

                        i=1;
                        list.clear();
                        login(dataUrl+i);
                        newLv.onRefreshComplete();



                    }
                },1000);
            }

            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ScrollView> refreshView) {

                i++;
                login(dataUrl+i);

            }
        });
        listv.setOnLastItemVisibleListener(new PullToRefreshBase.OnLastItemVisibleListener() {
            @Override
            public void onLastItemVisible() {
                i++;
                login(dataUrl+i);
            }
        });

       /* newsLv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<ListView>() {
            @Override
            public void onRefresh(PullToRefreshBase<ListView> refreshView) {
                newsLv.postDelayed(new Runnable() {
                    @Override
                    public void run() {

                        i=1;
                        list.clear();
                       login(dataUrl+i);
                        newsLv.onRefreshComplete();



                    }
                },1000);
            }
        });
        newsLv.setOnLastItemVisibleListener(new PullToRefreshBase.OnLastItemVisibleListener() {
            @Override
            public void onLastItemVisible() {
                i++;
                login(dataUrl+i);

            }
        });*/





        return view;
    }
    private void login(String pamm){
        new MyTask().execute(pamm);

    }
    class MyTask extends AsyncTask<String,Integer,String>{

        @Override
        protected String doInBackground(String... params) {
            String jj=params[0];
            NetWorkUtils netWorkUtils = new NetWorkUtils();
            data = netWorkUtils.getURL(jj);
            return data;
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            Gson gson = new Gson();
            SuperClass superClass = gson.fromJson(s, SuperClass.class);
            List<SuperClass.Bean> lists = superClass.getResults();


            list.addAll(lists);

            adapter.notifyDataSetChanged();

        }

    }
}



package com.example.sunrongzhen1511b20171118;

import android.app.Application;

import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;

/**
 * Created by Sun on 2017/11/15.
 */

public class Loader extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        ImageLoaderConfiguration build = new ImageLoaderConfiguration.Builder(this).build();
        ImageLoader.getInstance().init(build);
    }
}



package com.example.sunrongzhen1511b20171118;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.nostra13.universalimageloader.core.ImageLoader;

import java.util.List;

/**
 * Created by Sun on 2017/11/15.
 */

public class MyAdapter extends BaseAdapter {
    private Context context;
    private List<SuperClass.Bean> list;

    public MyAdapter(Context context, List<SuperClass.Bean> list) {
        this.context = context;
        this.list = list;
    }

    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public Object getItem(int position) {
        return list.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder;
        if(convertView==null){
            convertView=View.inflate(context,R.layout.item,null);
            holder=new ViewHolder();
            holder.t1= (TextView) convertView.findViewById(R.id.t1);
            holder.t2= (TextView) convertView.findViewById(R.id.t2);
            holder.t3= (TextView) convertView.findViewById(R.id.t3);
            holder.t4= (TextView) convertView.findViewById(R.id.t4);
            holder.t5= (TextView) convertView.findViewById(R.id.t5);
            holder.img= (ImageView) convertView.findViewById(R.id.img);


            convertView.setTag(holder);


        }else{
            holder= (ViewHolder) convertView.getTag();
        }
        holder.t1.setText(list.get(position).getType());
        holder.t2.setText(list.get(position).getCreatedAt());
        holder.t3.setText(list.get(position).getPublishedAt());
        holder.t4.setText(list.get(position).getSource());
        holder.t5.setText(list.get(position).getUrl());

        String url=list.get(position).getUrl();

      ImageLoader.getInstance().displayImage(url,holder.img);
        return convertView;
    }

 class ViewHolder{
     TextView t1,t2,t3,t4,t5;
     ImageView img;
 }
}


package com.example.sunrongzhen1511b20171118;

import android.content.Context;
import android.widget.ImageView;

import com.youth.banner.loader.ImageLoader;

/**
 * Created by Administrator on 2017/11/17.
 */

public class MyBannerImageLoader extends ImageLoader {

    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {
        com.nostra13.universalimageloader.core.ImageLoader uni_imageLoader = com.nostra13.universalimageloader.core.ImageLoader.getInstance();
        //path表示当前要显示的图片的url,,imageView表示当前要显示图片的载体
        uni_imageLoader.displayImage((String)path,imageView);
    }
}


package com.example.sunrongzhen1511b20171118;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 * Created by Sun on 2017/11/11.
 */

public class NetWorkUtils {



    public  static  String getURL(String parm){
    String data="";

        try {
            URL url = new URL(parm);


            HttpURLConnection ht = (HttpURLConnection) url.openConnection();

            ht.setConnectTimeout(5000);
            ht.setReadTimeout(5000);
            int responseCode = ht.getResponseCode();


            if(responseCode==200){
                InputStream inputStream = ht.getInputStream();
               /* BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream));
                StringBuffer buffer=new StringBuffer();
                String con;
                while ((con=bufferedReader.readLine())!=null){
                    buffer.append(con);
                }
               String str=buffer.toString();
                return str;*/
                byte[] b=new byte[1024];
                int len=0;
                while((len=inputStream.read(b))!=-1){
                    String s = new String(b, 0, len);
                    data+=s;


                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return data;
    }
}



package com.example.sunrongzhen1511b20171118;

import java.util.List;

/**
 * Created by Sun on 2017/11/15.
 */

public class SuperClass {
    private List<Bean> results;

    public List<Bean> getResults() {
        return results;
    }

    public void setResults(List<Bean> results) {
        this.results = results;
    }

    class Bean{
        private String createdAt;
        private String publishedAt;
        private String type;
        private String source;
        private String url;

        public String getCreatedAt() {
            return createdAt;
        }

        public void setCreatedAt(String createdAt) {
            this.createdAt = createdAt;
        }

        public String getPublishedAt() {
            return publishedAt;
        }

        public void setPublishedAt(String publishedAt) {
            this.publishedAt = publishedAt;
        }

        public String getType() {
            return type;
        }

        public void setType(String type) {
            this.type = type;
        }

        public String getSource() {
            return source;
        }

        public void setSource(String source) {
            this.source = source;
        }

        public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }
    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值