2011-07-04 3 views
0
내가 기본 게으른 목록 코드의 HashMap를 직렬화 및 장치에 파일을 저장할

을 .. 안드로이드 저장 - 게으른 목록의 HashMap

이 사실 나는 이미지가 로컬에 저장할 ,,,,

마찬가지로 내 프로젝트에는 서버에서 사용할 이미지가 많이 포함되어 있습니다. 해시 맵을 파일에 저장하는 수정 된 지연 목록에 대한 방법이나 코드를 제공하십시오. 다음에 앱을 다시 시작할 때 Image-loader 클래스는 그 객체를 가지고있어서 그 이미지는 서버로부터 다운로드되지 않습니다.

답변

1

변수를 cacheDir으로 만들고 getBitmap() 메소드를 변경하십시오 ImageLoader 이것 이하의 클래스

private Bitmap getBitmap(String urlString) 
{ 
    String filename = String.valueOf(urlString.substring(urlString.lastIndexOf("/") + 1)); 
    File f = new File(cacheDir, filename); 
    try 
    { 
     if(!f.exists()) 
     { 
      Bitmap bitmap = null; 
      InputStream is = new URL(urlString).openStream(); 
      OutputStream os = new FileOutputStream(f); 
      Globals.CopyStream(is, os); 
      os.close(); 
      bitmap = decodeFile(f); 
      return bitmap; 
     } 
     else 
     {    
      Bitmap bitmap = decodeFile(f); 
      return bitmap; 
     } 

    } 
    catch (Exception ex) 
    { 
     ex.printStackTrace(); 
     BitmapDrawable mDrawable = (BitmapDrawable) context.getResources().getDrawable(R.drawable.placeholder); 
     return mDrawable.getBitmap(); 
    } 
} 
+0

Globals.CopyStream (is, os); 이 코드에서 해결할 수 없습니다 ..이 코드는 응용 프로그램을 다시 시작할 때 효과적일까요 이전에 이미 표시된 이미지를 저장하고 사용하려면 –

+0

hiiii ,,, thx 코드를 구현하는 데 실수였습니다. 지금 일하고있어 ...... –