2016-04-25 17 views
0

您好Android成員,我有一個Android代碼,與Android設備工作得很好,當存在外部內存時。實際上,URL中的圖像會緩存在外部設備中,並在我的應用中顯示得很好,但我的問題是:任何人都可以引導我如何將圖像保存在內部存儲器中,以及在未安裝外部存儲器的情況下在設備上?圖像僅顯示在具有存儲卡的設備上。如何在Android設備的內部或外部存儲器中緩存雲圖像

public class FileCache { 

private File cacheDir; 

public FileCache(Context context){ 
    //Find the dir to save cached images 
    if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) 
     cacheDir=new File(android.os.Environment.getExternalStorageDirectory(),"TempImages"); 
    else 
     cacheDir=context.getCacheDir(); 
    if(!cacheDir.exists()) 
     cacheDir.mkdirs(); 
} 

public File getFile(String url){ 
    String filename=String.valueOf(url.hashCode()); 
    File f = new File(cacheDir, filename); 
    return f; 

} 

public void clear(){ 
    File[] files=cacheDir.listFiles(); 
    if(files==null) 
     return; 
    for(File f:files) 
     f.delete(); 
} 

}

回答

0

而不是使用context.getCacheDir()的,你可以在你context.getFilesDir()。原因是getCacheDir()用於存儲輕量級緩存文件。

但是,我強烈建議您使用像Picasso或Glide這樣完善的庫來加載和緩存圖像。

+0

非常感謝pal! – Brian

相關問題