標籤:
使用非同步任務載入網狀圖片:
class MyTask extends AsyncTask<String, Void, Bitmap>{ @Override protected Bitmap doInBackground(String... params) { HttpClient client = new DefaultHttpClient(); HttpGet post = new HttpGet(params[0]);//注意請求方式,可能爆出請求方式不被允許 try { HttpResponse response = client.execute(post); int stateCode = response.getStatusLine().getStatusCode(); if(stateCode == 200){ byte[] result = EntityUtils.toByteArray(response.getEntity()); Bitmap bm = BitmapFactory.decodeByteArray(result, 0, result.length); return bm; } } catch (Exception e) { e.printStackTrace(); }return null; } @Override protected void onPostExecute(Bitmap result) { super.onPostExecute(result); if(result != null){ iv.setImageBitmap(result); } } }
載入URL對象來擷取網路資料
@Override protected Bitmap doInBackground(String... params) { try { //建立URL對象 URL url = new URL(params[0]); //擷取串連 URLConnection conn = url.openConnection(); //設定連線逾時, 一般為5s conn.setConnectTimeout(5000); //擷取輸入資料流 InputStream in = conn.getInputStream(); Bitmap bm = BitmapFactory.decodeStream(in); return bm; } catch (Exception e) { e.printStackTrace(); }
android 載入網路資料(1)