您好,登錄后才能下訂單哦!
本篇文章為大家展示了Android應用中是如何讀取服務器中的圖片的,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
Android鏈接服務器獲取圖片在此提供三種方法
方法一:
public static Bitmap getImage(String path){ try { HttpURLConnection conn = (HttpURLConnection) new URL(path).openConnection(); conn.setConnectTimeout(5000); conn.setRequestMethod("GET"); System.out.println("tdw1"); if(conn.getResponseCode() == 200){ InputStream inputStream = conn.getInputStream(); Bitmap bitmap = BitmapFactory.decodeStream(inputStream); return bitmap; } } catch (Exception e) { e.printStackTrace(); } return null; }
在第一種方法中,從conn的輸入流中獲取數據將其轉化為Bitmap型數據。
在功能代碼中:
image.setImageBitmap(getImage("路徑"));
image為ImageView型控件。
第二種方法:
public static Bitmap getImage1(String path){ HttpGet get = new HttpGet(path); HttpClient client = new DefaultHttpClient(); Bitmap pic = null; try { HttpResponse response = client.execute(get); HttpEntity entity = response.getEntity(); InputStream is = entity.getContent(); pic = BitmapFactory.decodeStream(is); // 關鍵是這句代 } catch (Exception e) { e.printStackTrace(); } return pic; }
這個方法類似上面那個方法。在功能代碼中設置是一樣的
第三種方法:
public static Uri getImage2(String path,File cacheDir){ File localFile = new File(cacheDir,MD5.getMD5(path)+path.substring(path.lastIndexOf("."))); if(localFile.exists()){ return Uri.fromFile(localFile); }else { HttpURLConnection conn; try { conn = (HttpURLConnection) new URL(path).openConnection(); conn.setConnectTimeout(5000); conn.setRequestMethod("GET"); if(conn.getResponseCode() == 200){ System.out.println("tdw"); FileOutputStream outputStream = new FileOutputStream(localFile); InputStream inputStream = conn.getInputStream(); byte[] buffer = new byte[1024]; int length = 0; while((length=inputStream.read(buffer))!=-1){ outputStream.write(buffer, 0, length); } inputStream.close(); outputStream.close(); return Uri.fromFile(localFile); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } return null; }
第三種方法,將從服務器獲取的數據存入本地的文件中,如果文件已存在,則不需要從服務器重新獲取數據。
在功能代碼中:
image.setImageURI(getImage2(path, cache));
上面代碼中設置圖片為緩存設置,這樣如果圖片資源更新了,則需要重新命名文件的名字,這樣才能夠重新加載新圖片。
cache = new File(Environment.getExternalStorageDirectory(),"cache"); if(!cache.exists()){ cache.mkdirs(); }
上述內容就是Android應用中是如何讀取服務器中的圖片的,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。