/** * 网络获取数据 并解析+解析图片地址 */ public class MainActivity extends AppCompatActivity { private ListView lv; List<Da.NewslistBean> list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 找控件 lv = (ListView) findViewById(R.id.lv); list = new ArrayList<Da.NewslistBean>(); // 异步任务 new AsyncTask<String,Integer,String>(){ @Override protected String doInBackground(String... strings) { // 初始化数据 getData(); // ImageLoader ImageLoaderConfiguration configuration = ImageLoaderConfiguration.createDefault(MainActivity.this); ImageLoader.getInstance().init(configuration); return null; } @Override protected void onPostExecute(String s) { // 设置适配器 MyAdapter adapter = new MyAdapter(); lv.setAdapter(adapter); super.onPostExecute(s); } }.execute(); } private 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){ // 解析数据 Gson gson = new Gson(); Da da = gson.fromJson(new InputStreamReader(conn.getInputStream(),"UTF-8"),Da.class); list = da.getNewslist(); } } catch (Exception e) { e.printStackTrace(); } } class MyAdapter extends BaseAdapter{ @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } // 优化 @Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHolder holder; if(view == null){ holder = new ViewHolder(); view = View.inflate(MainActivity.this,R.layout.item,null); holder.item_ctime = view.findViewById(R.id.item_ctime); holder.item_title = view.findViewById(R.id.item_title); holder.item_description = view.findViewById(R.id.item_description); holder.item_url = view.findViewById(R.id.item_url); holder.iv = view.findViewById(R.id.iv); view.setTag(holder); }else{ holder = (ViewHolder) view.getTag(); } String path = list.get(i).getPicUrl(); // holder.iv.setImageBitmap(); ImageLoader.getInstance().displayImage(path,holder.iv); holder.item_ctime.setText(list.get(i).getCtime()); holder.item_title.setText(list.get(i).getTitle()); holder.item_description.setText(list.get(i).getDescription()); holder.item_url.setText(list.get(i).getUrl()); return view; } } class ViewHolder{ TextView item_ctime,item_title,item_description,item_url; ImageView iv; } }
ListView展示 网络请求的数据, 并LoaderImage请求网络图片
最新推荐文章于 2024-07-20 13:32:05 发布