1.创建类
//文字异步
class MYAytext extends AsyncTask<String,Void,String> { public MYAytext() { } @Override protected String doInBackground(String... strings) { return NetWordUtils.getdata(strings[0]); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson=new Gson(); bean bean = gson.fromJson(s, bean.class); list = bean.getData(); lv.setAdapter(new MyAdapter()); } @Override protected void onProgressUpdate(Void... values) { super.onProgressUpdate(values); } } //适配器 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 contextview, ViewGroup viewGroup) { View view = View.inflate(MainActivity.this, R.layout.itml, null); ImageView iv =(ImageView) view.findViewById(R.id.imageView); TextView tv = (TextView) view.findViewById(R.id.tv); tv.setText(list.get(i).getNews_title()); new MAsyncTaskImage(iv).execute(list.get(i).getPic_url()); return view; } } //图片异步 class MAsyncTaskImage extends AsyncTask<String,Void,Bitmap> { ImageView iv; public MAsyncTaskImage(ImageView imageView) { this.iv = imageView; } @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected Bitmap doInBackground(String... strings) { return NetWordUtils.getbitmap(strings[0]); } @Override protected void onPostExecute(Bitmap bitmap) { super.onPostExecute(bitmap); iv.setImageBitmap(bitmap); } @Override protected void onProgressUpdate(Void... values) { super.onProgressUpdate(values); } }
2.工具类
public static String getdata(String urlString) { try { URL url = new URL(urlString); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setConnectTimeout(8000); int responseCode = urlConnection.getResponseCode(); if(responseCode==200) { InputStream inputStream = urlConnection.getInputStream(); StringBuilder stringBuilder = new StringBuilder(); BufferedReader br=new BufferedReader(new InputStreamReader(inputStream)); String temp=""; while((temp=br.readLine())!=null) { stringBuilder.append(temp); } String data = stringBuilder.toString(); return data; }else{ Log.e("wzq","responseCode:"+ responseCode); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } public static Bitmap getbitmap(String urlString) { try { URL url = new URL(urlString); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); int code = urlConnection.getResponseCode(); if(code==200) { InputStream inputStream = urlConnection.getInputStream(); Bitmap bitmap = BitmapFactory.decodeStream(inputStream); return bitmap; }else{ Log.e("请求图片","code"+code); } } catch (IOException e) { e.printStackTrace(); } return null; }