【发布时间】:2017-09-19 08:23:37
【问题描述】:
我的安卓缓存系统有问题 我想要的是为android缓存我的最后一个视图并在离线模式下打开它但是在在线的情况下想要实时页面而不是缓存的页面 如果我们以任何价格网站为例 http://www.oil-price.net/ 这是我的java类代码
public class Petroleum_price extends Fragment {
public Petroleum_price() {
// Required empty public constructor
}
Context context;
WebView mwebView;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.activity_petroleum_price, container, false);
context = container.getContext();
mwebView = new WebView(context);
mwebView = (WebView) v.findViewById(R.id.webView);
WebSettings webSettings = mwebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mwebView.getSettings().setAppCachePath( getActivity().getApplicationContext().getCacheDir().getAbsolutePath() );
mwebView.getSettings().setAppCacheEnabled(true);
mwebView.getSettings().setAllowFileAccess( true );
webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
webSettings.setUseWideViewPort(true);
webSettings.setSaveFormData(true);
CookieManager.getInstance().setAcceptCookie(true);
if ( !isNetworkAvailable() ) { // loading offline
mwebView.getSettings().setCacheMode( WebSettings.LOAD_CACHE_ELSE_NETWORK );
}
mwebView.loadUrl( "http://www.oil-price.net/" );
return v;
}
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager = (ConnectivityManager) getActivity().getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
}
【问题讨论】:
标签: android android-fragments caching offline-caching