赞
踩
package com.example.slx.slx12_27_01; import android.os.AsyncTask; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ListView; import com.google.gson.Gson; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; import java.util.List; public class MainActivity extends AppCompatActivity { private ListView listview; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listview = findViewById(R.id.listView); MyTask myTask = new MyTask(); myTask.execute("http://api.tianapi.com/huabian/?key=48a7d7193e11bd2dd4a683b6e2f90a4f&num=10"); } public class MyTask extends AsyncTask<String,Void,String> { @Override protected String doInBackground(String... strings) { HttpClient defaultHttpClient = new DefaultHttpClient(); HttpGet httpGet = new HttpGet(strings[0]); try { HttpResponse response = defaultHttpClient.execute(httpGet); int statusCode = response.getStatusLine().getStatusCode(); if(statusCode==200){ HttpEntity entity = response.getEntity(); String s = EntityUtils.toString(entity); return s; } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); if(s!=null){ Gson gson = new Gson(); ResultData resultData = gson.fromJson(s, ResultData.class); List<ResultData.NewslistBean> newslist = resultData.getNewslist(); MyAdapter myAdapter = new MyAdapter(MainActivity.this,newslist); listview.setAdapter(myAdapter); } } } }package com.example.slx.slx12_27_01; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.AsyncTask; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import java.util.List; /** * Created by lenovo on 2017/12/28. */ public class MyAdapter extends BaseAdapter{ private Context context; private List<ResultData.NewslistBean> newslist; public MyAdapter(Context context, List<ResultData.NewslistBean> newslist) { this.context = context; this.newslist = newslist; } @Override public int getCount() { return newslist.size(); } @Override public Object getItem(int i) { return newslist.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){ view=View.inflate(context,R.layout.item_list,null); holder=new ViewHolder(); holder.textview=(TextView)view.findViewById(R.id.item_textview); holder.imageview=(ImageView)view.findViewById(R.id.item_image); view.setTag(holder); }else{ holder=(ViewHolder) view.getTag(); } holder.textview.setText(newslist.get(i).getTitle()); MyPicTask myPicTask = new MyPicTask(holder.imageview); myPicTask.execute(newslist.get(i).getPicUrl()); return view; } public class ViewHolder{ TextView textview; ImageView imageview; } public class MyPicTask extends AsyncTask<String,Void,Bitmap>{ private ImageView img; public MyPicTask(ImageView img) { this.img = img; } @Override protected Bitmap doInBackground(String... strings) { try { URL url = new URL(strings[0]); HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setReadTimeout(5000); urlConnection.setConnectTimeout(5000); int responseCode = urlConnection.getResponseCode(); if(responseCode==200){ InputStream inputStream = urlConnection.getInputStream(); Bitmap bitmap = BitmapFactory.decodeStream(inputStream); return bitmap; } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(Bitmap bitmap) { super.onPostExecute(bitmap); if(bitmap==null){ img.setImageResource(R.mipmap.ic_launcher); }else { img.setImageBitmap(bitmap); } } } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。