2016-01-13 43 views
1

在此鏈接:http://developer.android.com/training/volley/requestqueue.html排球教程 - getCacheDir() - 無法解析方法

標題:設置網絡和高速緩存

它定義這樣的緩存:

Cache cache = new DiskBasedCache(getCacheDir(), 1024 * 1024); 

我搜索現在30分鐘,我嘗試導入android.content.Context,但仍然收到錯誤:無法解析方法。

我的代碼:

class NetworkActivity{ 
String url; 

RequestQueue networkRequest; 
Cache cache = new DiskBasedCache(getCacheDir(), 1024 * 1024); 
Network network = new BasicNetwork(new HurlStack()); 
... 

我不知道我,因爲它說的例子什麼東西延伸。

這是我進口:

import com.android.volley.Cache; 
import com.android.volley.Network; 
import com.android.volley.RequestQueue; 
import com.android.volley.toolbox.BasicNetwork; 
import com.android.volley.toolbox.DiskBasedCache; 
import com.android.volley.toolbox.HurlStack; 
+0

所以,我需要定義一個Context對象,並將其稱爲「mContext.getCacheDir()」? –

+0

看到我的答案可能有幫助ü –

回答

1

getCacheDir方法是從Context類,所以你需要使用有效Context來訪問它。就好像使用活動

public class NetworkActivity{ 
    private Context mContext; 
    Cache cache; 
    NetworkActivity(Context mContext){ 
     this.mContext=mContext; 
     this.cache = new DiskBasedCache(mContext.getCacheDir(), 1024 * 1024); 
    } 
} 

傳遞上下文:

使用NetworkActivity類的構造函數來獲取上下文

NetworkActivity objNetworkActivity=new NetworkActivity(ClassName.this); 

,或者使用Fragment然後使用getActivity()

+0

謝謝你,工作。 –