Android で Web ページをプリロードしたい。Web ページには、テキスト要素とグラフィック要素の両方が含まれています。Web ページは、まだ作成されていないアクティビティで将来表示されます。
私が理解している限り、たとえば WebView はアクティビティに関連付ける必要があるため、このタスクに WebView を使用することはできません。
HTMLページを解析してすべての要素を「手動で」ダウンロードする必要のない提案はありますか?
Android で Web ページをプリロードしたい。Web ページには、テキスト要素とグラフィック要素の両方が含まれています。Web ページは、まだ作成されていないアクティビティで将来表示されます。
私が理解している限り、たとえば WebView はアクティビティに関連付ける必要があるため、このタスクに WebView を使用することはできません。
HTMLページを解析してすべての要素を「手動で」ダウンロードする必要のない提案はありますか?
Android のドキュメントによると:明らかなセキュリティ上の理由から、アプリケーションには独自のキャッシュ、Cookie ストアなどがあります。ブラウザ アプリケーションのデータは共有されません。
したがって、これを行うことで、上記の情報をスマートな方法で利用できます。
Web サイトの読み込みを開始するときはいつでも、新しい WebView オブジェクトを作成し、そこから URL を要求します。コードは次のようになります。
WebView view = new WebView(context);
view.loadUrl(myBigWebSite);
Android はその webview データをキャッシュし、別のアクティビティから loadUrl をリクエストすると、既に読み込まれているはずです。
// in your WebView activity
myWebView.loadUrl(myBigWebSite);
WebViewの詳細については、ドキュメント ページを参照してください: WebView doc
必要なすべてのファイル (画像など) をネットワーク スレッド上のフォルダーにダウンロードし、次のようなものを使用できます。
webview.loadUrl("file:///my_cached_folder/index.html");
参照されて存在する場合、画像もこのフォルダーから選択されます。webview でローカル ファイルを開く方法については、こちらを参照してください。