J'ai un problème avec mon système de cache pour android et ce que je veux est de mettre en cache ma dernière vue pour android et l'ouvrir en mode déconnecté mais en cas de besoin en ligne le live page ne le cache un si nous prenons un site Web du prix comme un exemple comme celui-ci http://www.oil-price.net/ et que mon code de classe javaCache la dernière vue d'une page pour le mode hors ligne
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();
}
}
ce code est mise en œuvre dans mon code, mais ne cache pas, il ouvre la page quand je suis en ligne, mais si hors ligne n'ouvre rien. et merci beaucoup pour votre réponse –
mon code est en fragment pas d'activité y at-il un problème avec elle? –
code de test à nouveau je l'ai changé. non, je ne pense pas que cela cause un problème @ AsemAbd-elnaser –