public class MainActivity extends AppCompatActivity { private String urlString = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1"; private String urlBitmap = "https://img-my.youkuaiyun.com/uploads/201407/26/1406383265_8550.jpg"; private ImageView iv; private ListView lv; private List<String> list; private MyAdapter adapter; private List<News.DataBean> dataBeanList; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); if (msg.what == 1) { adapter = new MyAdapter(list, MainActivity.this); lv.setAdapter(adapter); } else if (msg.what == 2) { Bitmap bitmap = (Bitmap) msg.obj; iv.setImageBitmap(bitmap); } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv = (ImageView) findViewById(R.id.imageView); lv = (ListView) findViewById(R.id.lv); } public void getNetData(View v) { Log.e("TAG", "我被点击了"); new Thread() { @Override public void run() { super.run(); String data = Tools.getData(urlString); Gson gson = new Gson(); News news = gson.fromJson(data, News.class); dataBeanList = news.getData(); list = new ArrayList<String>(); for (int i = 0; i < dataBeanList.size(); i++) { String summary = dataBeanList.get(i).getNews_summary(); list.add(summary); } Message message = Message.obtain(); message.what = 1; handler.sendMessage(message); } }.start(); } public void getNetBitmap(View v) { new Thread() { @Override public void run() { super.run(); Bitmap bitmap = Tools.getBitmap(urlBitmap); Message message = Message.obtain(); message.obj = bitmap; message.what = 2; handler.sendMessage(message); } }.start(); } }
public class Tools { public static String getData(String urlString){ try { URL url = new URL(urlString); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setConnectTimeout(8000); InputStream inputStream = urlConnection.getInputStream(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); StringBuilder stringBuilder = new StringBuilder(); String temp = ""; while((temp = bufferedReader.readLine())!= null){ stringBuilder.append(temp); } String data = stringBuilder.toString(); return data; } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return ""; } 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; } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } }