您的位置:首页 > 理论基础 > 计算机网络

从网络上获取ImageLoader并且ListView上展示

2017-11-08 10:03 239 查看
 

  

从网络上获取ImageLoader并且ListView上展示

原创 2017年08月10日 16:01:45
  首先要在清单文件里添加网络权限

 <uses-permission android:name="android.permission.INTERNET"/>
   引入.MyApplication

    <application

        android:name="com...imageloaderlistview.MyApplication"

  导入一个依赖
 compile files('libs/universal-image-loader-1.9.3-with-sources.jar')

MyApplication 类

public class MyApplication extends Application{

    @Override

    public void onCreate() {

        ImageLoaderConfiguration configuration=ImageLoaderConfiguration.createDefault(this);

        ImageLoader.getInstance().init(configuration);

        super.onCreate();

    }

}

[b]MainActivity
[/b]

public class MainActivity extends Activity {

    private News json;

    List<NewsData> list;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        //Listview控件

        final ListView lv = (ListView) findViewById(R.id.lv);

        //启动一个异步

        new AsyncTask<String, String, String>() {

            @Override

            protected String doInBackground(String... strings) {

                getData();

                return null;

            }

            @Override

            protected void onPostExecute(String result) {

                MyAdapter adapter = new MyAdapter();

                lv.setAdapter(adapter);

                super.onPostExecute(result);

            }

        }.execute();

    }

    protected void getData() {

        try {

            URL url = new URL( "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10");

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

            int code = conn.getResponseCode();

            if (code == 200) {

                Log.i("adsafas", "============");

                Gson gson = new Gson();

                json = gson.fromJson(new InputStreamReader(conn.getInputStream()), News.class);

                list = json.getNewslist();

            }

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

    

    class MyAdapter extends BaseAdapter {

        @Override

        public int getCount() {

            // TODO Auto-generated method stub

            return list.size();

        }

        @Override

        public Object getItem(int position) {

            // TODO Auto-generated method stub

            return null;

        }

        @Override

        public long getItemId(int position) {

            // TODO Auto-generated method stub

            return 0;

        }

        @Override

        public View getView(int position, View convertView, ViewGroup parent) {

            ViewHolder holder;

            if (convertView==null) {

                convertView=View.inflate(MainActivity.this, R.layout.list_item,null);

                holder=new ViewHolder();

                holder.tv=(TextView) convertView.findViewById(R.id.tv);

                holder.tv1 = (TextView) convertView.findViewById(R.id.tv1);

                holder.tv2 = (TextView) convertView.findViewById(R.id.tv2);

                holder.tv3 = (TextView) convertView.findViewById(R.id.tv3);

                holder.iv = (ImageView) convertView.findViewById(R.id.iv);

                convertView.setTag(holder);

            }else {

                holder=(ViewHolder) convertView.getTag();

            }

            holder.tv.setText(list.get(position).getCtime());

            holder.tv1.setText(list.get(position).getDescription());

            holder.tv2.setText(list.get(position).getTitle());

            holder.tv3.setText(list.get(position).getUrl());

                   下面这行代码就是从网络上获取并且展示出来

            ImageLoader.getInstance().displayImage(list.get(position).getPicUrl(), holder.iv);

            return convertView;

        }

    }

    public static class ViewHolder{

        TextView tv,tv1,tv2,tv3;

        ImageView iv;

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: