build.gradle文件设置
compile 'com.squareup.okhttp3:okhttp:3.4.1'
判断获取数据的途径
private String mResult;
String cacheData=getDataFromLocal();
if (!TextUtils.isEmpty(cacheData)) {
mResult = cacheData;
System.out.println("从本地加载数据"+mResult);
}else {
mResult=getDataFromNet();
System.out.println("从网络获取数据" );
}
tv.setText(mResult);//装载数据
从网络获取数据
OkHttpClient client = new OkHttpClient();
String url = "http://www.oschina.net";
//构建一个请求
Request request = new Request.Builder().url(url).build();
//请求执行
Response response = client.newCall(request).execute();
String result = response.body().string();
把数据缓存到本地
File file=new File(getCacheDir(),"/xxx");
//读文件
BufferedWriter writer=null;
writer= new BufferedWriter(new FileWriter(file));
writer.write(result);
从本地读取数据
File file = new File(getCacheDir(),"/xxx");
if (file.exists()) {
BufferedReader reader =null;
reader=new BufferedReader(new FileReader(file));
String tempLine = null;
StringBuffer sb = new StringBuffer();
while ((tempLine = reader.readLine()) != null) {
sb.append(tempLine);
}
return sb.tostring;
}