新增快取

c_clear發表於2016-01-04

如上幾篇,當讀取圖片,肯定會用到快取功能,如下

//讀取流中的資料
						InputStream is = hucn.getInputStream();
						//讀取獲取到的流,整合成一個圖片
						//要實現圖片快取,邊讀取,邊把圖片存到本地檔案
						//設定一個1kb的陣列
						byte[] b = new byte[1024];
						int len;
						File file = new File(getCacheDir(), getNameFromPath(path));
						//輸出流
						FileOutputStream fos = new FileOutputStream(file);
						while ((len = is.read(b))!=-1) {
							fos.write(b, 0, len);
						}
						fos.close();
                                              //此處流中已經沒有資料,所以需要讀取本地資料來構造
                                                Bitmap bp = BitmapFactory.decodeFile(file.getAbsolutePath());

此處快取圖片功能完成,其中getNameFromPath(path)方法是自己寫的一個擷取請求的網址中圖片名字

//寫一個擷取圖片名字方法
	public String getNameFromPath(String path) {
		int index = path.lastIndexOf("/");
		return path.substring(index + 1);		
	}


相關文章