有时候我们需要通过自己的缓存机制来缓存网页内容,当没有网的时候显示本地的缓存,当有网的时候取最新的继续缓存到本地。
主要机制:
通过AsyncTask异步AsyncTask请求,将得到的response.body()缓存起来。
主要代码如下:
//通过OkhttpClIEnt加载HTML的方式先判断网页是否能走通class WebVIEwStatusRequester extends AsyncTask<String,String,Integer> { String url; @OverrIDe protected voID onPreExecute() { super.onPreExecute(); } @OverrIDe protected voID onPostExecute(Integer result) { super.onPostExecute(result); result = 0; Log.e(TAG,"onPostExecute: result="+result +";url="+url); if(result == 1) { m_commonIssueWebvIEw.loadUrl(url); } else if(result == 0) { getCacheHTMLStrategy(); } } @OverrIDe protected Integer doInBackground(String... params) { url = params[0]; try { OkhttpClIEnt clIEnt = new OkhttpClIEnt(); Request request = new Request.Builder().url(url).build(); Response response = clIEnt.newCall(request).execute(); //缓存到本地文件 fileUtil.writefile(PathConfig.getQAHTMLCachePath(getActivity()),response.body().string()); if(response.isSuccessful()) { return 1; } else { Log.i("TAG","fail code:" + response.code()); return 0; } } catch (IOException e) { e.printstacktrace(); } return 0; }}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
总结以上是内存溢出为你收集整理的android通过okhttpClient下载网页内容的实例代码全部内容,希望文章能够帮你解决android通过okhttpClient下载网页内容的实例代码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)