반응형
WebView는 온라인 일 때 웹 사이트를로드하고 오프라인 일 때 로컬 파일을로드합니다.
나는 Java 프로그래밍에 익숙하지 않지만 여기에서 내 문제에 대한 몇 가지 솔루션을 살펴보고 내 경우에 맞는 솔루션을 선택하고 코드를 찾을 수 없습니다.
WebView
전화가 온라인 일 때 온라인 페이지 (예 : Google)를 온라인 전화가 오프라인 일 때 로컬 HTML 페이지를 갖고 싶어 합니다.
동시에 오프라인 로컬 페이지가 전화가 인터넷에 마지막으로 연결될 때 업데이트 전화가 온라인 일 로컬 페이지를 항상 쓰도록하고 싶습니다.
어디에 있습니까? 올바른 방향을 간단한 방법이 도움이 될 수 있습니다.
감사합니다.
그것은 나에게 간단한 웹뷰 캐싱처럼 들립니다.
다음은 원하는 작업을 수행해야합니다.
WebView webView = new WebView( context );
webView.getSettings().setAppCacheMaxSize( 5 * 1024 * 1024 ); // 5MB
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.google.com" );
이 메서드 isNetworkAvailable()
는 활성 네트워크 연결을 확인합니다.
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService( CONNECTIVITY_SERVICE );
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
마지막으로에 다음 세 가지 권한을 추가하는 것을 잊지 않습니다 AndroidManifest.xml
.
<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"/>
WebView를 기본적으로 캐시 할 수 있습니다. 페이지 헤더에 다음 필드가 포함 된 경우 WebView는 해당 페이지의 콘텐츠를 캐시 할 수 없습니다. 캐시 제어 : 저장소 없음, 캐시 없음 Pragma : 캐시 없음
이 경우 캐싱 문제를 해결해야하는 서버의 페이지 속성을 수정해야합니다.
반응형
'ProgramingTip' 카테고리의 다른 글
서블릿 필터에 여러 URL 패턴 제공 (0) | 2020.11.04 |
---|---|
Google 크롬에서 두 요소 스타일의 차이점 (0) | 2020.11.04 |
Swift에서 typedef를 어떻게 뻗으십니까? (0) | 2020.11.04 |
Jaro-Winkler와 Levenshtein 거리의 차이점은 무엇입니까? (0) | 2020.11.04 |
SD 카드의 파일을 이메일에 첨부합니다. (0) | 2020.11.04 |