public class BasicCache {
private Map cache = new HashMap();
private static BasicCache bc;
private BasicCache() {
}
public static BasicCache getInstance() {
if (null == bc) {
bc = new BasicCache();
}
return bc;
}
/**
* 根据url从缓存中取数据
* @param key
* @return
*/
public String getValue(String key) {
String value = cache.get(key);
if (null==value) {
Tools tools = new Tools();
String result = tools.getUrl(key,10000);
if(null!=result&&!"".equals(result)){
cache.put(key, result);
}
return result;
}else{
return value;
}
}
/**
* 清空缓存
*/
public void clearCache(){
cache.clear();
}
}
//请求类
public class Tools {
public String getUrl(String urls,int overtime){
StringBuffer result = new StringBuffer();
URL url = null;
try {
url = new URL(urls);
if (url == null) {
System.out.println("读取url地址失败");
return null;
}
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
conn.setRequestMethod("GET");
conn.setConnectTimeout(overtime);
conn.setReadTimeout(overtime);
conn.connect();
int code = conn.getResponseCode();
if (code != 200) {
System.out.println("服务器返回错误的状态码:" + code);
} else {
BufferedReader br = new BufferedReader(new InputStreamReader(
conn.getInputStream(), "utf-8"));
String temp = null;
while ((temp = br.readLine()) != null) {
result.append(temp);
}
}
} catch (IOException e) {
System.out.println("error:\n" + e.getMessage());
return null;
}
return result.toString();
}
activity:
String url ="请求的url";
String result = BasicCache.getInstance().getValue(url);