Кэш в локальное хранилище в WebView Android - PullRequest
0 голосов
/ 27 января 2019

Я показываю html-страницу для веб-просмотра с использованием URL-адреса и хочу сохранить этот html-файл из кэша веб-просмотра в локальном хранилище устройства. Возможно ли это, пожалуйста, помогите.

1 Ответ

0 голосов
/ 27 января 2019

Кэширование веб-просмотра

WebView webView = new WebView( context );
webView.getSettings().setAppCacheMaxSize( 6 * 1024 * 1024 ); // 6MB size
webView.getSettings().setAppCachePath( getApplicationContext().getCacheDir().getAbsolutePath() );
webView.getSettings().setAllowFileAccess( true );
webView.getSettings().setAppCacheEnabled( true );
webView.getSettings().setJavaScriptEnabled( true );
webView.getSettings().setCacheMode( WebSettings.LOAD_DEFAULT ); // load online by default

if ( !isNetworkAvailable() ) { // loading offline
    webView.getSettings().setCacheMode( WebSettings.LOAD_CACHE_ELSE_NETWORK );
}

webView.loadUrl( "http://www.stackoverflow.com" );

Проверьте доступность Интернета и добавьте разрешение в файл манифеста

private boolean isNetworkAvailable() {
    ConnectivityManager cm = (ConnectivityManager) getSystemService( CONNECTIVITY_SERVICE );
    NetworkInfo activeNetworkInfo = cm.getActiveNetworkInfo();
    return activeNetworkInfo != null && activeNetworkInfo.isConnected();
} 

разрешение на хранение в Интернете для чтения и записи

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...