效果展示
輸入圖片地址,點擊button
布局EditText,button,ImageView
給button加監(jiān)聽器實現(xiàn)代碼:
String path = imagePathText.getText().toString(); NetTool NTU=new NetTool(); String imagePath = NTU.getImagePath(getBaseContext(), path); imageView.setImageBitmap(BitmapFactory.decodeFile(imagePath));?解 ? ? ? ? ? ? ? ? ?釋:
- ? path ? 圖片路徑
- ?NetTool ?從網(wǎng)絡(luò)獲取圖片的工具類
- ?NetTool 主要的3個方法
-
public class NetTool { static String TAG="step"; public static InputStream getRequest(String path) throws Exception { URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setConnectTimeout(5000); // 5秒 if (conn.getResponseCode() == 200) { return conn.getInputStream(); } return null; } public static byte[] readInputStream(InputStream inStream) throws Exception { ByteArrayOutputStream outSteam = new ByteArrayOutputStream(); byte[] buffer = new byte[4096]; int len = 0; while ((len = inStream.read(buffer)) != -1) { outSteam.write(buffer, 0, len); } outSteam.close(); inStream.close(); return outSteam.toByteArray(); } // 獲取網(wǎng)絡(luò)圖片,如果緩存里面有就從緩存里面獲取 public static String getImagePath(Context context, String url) { if (url == null) return ""; String imagePath = ""; String fileName = ""; // 獲取url中圖片的文件名與后綴 if (url != null && url.length() != 0) { fileName = url.substring(url.lastIndexOf("/") + 1); } // 圖片在手機本地的存放路徑,注意:fileName為空的情況 imagePath = context.getCacheDir() + "/" + fileName; Log.i(TAG, "imagePath = " + imagePath); File file = new File(context.getCacheDir(), fileName);// 保存文件, if (!file.exists()) { Log.i(TAG, "file 不存在 "); try { byte[] data = readInputStream(getRequest(url)); Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length); bitmap.compress(CompressFormat.JPEG, 100, new FileOutputStream( file)); imagePath = file.getAbsolutePath(); Log.i(TAG, "imagePath : file.getAbsolutePath() = " + imagePath); } catch (Exception e) { Log.e(TAG, e.toString()); } } return imagePath; } }
?????????
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
