2013-02-17 10 views
10

Chcę wstępnie wczytać stronę internetową w systemie Android. Strona zawiera zarówno tekst, jak i elementy graficzne. Strona internetowa będzie wyświetlana w przyszłości w Aktywności, która nie została jeszcze utworzona.Wstępne ładowanie strony internetowej w systemie Android (przy użyciu WebView?)

O ile rozumiem, WebView na przykład musi być powiązany z działaniem, dlatego nie można użyć WebView do tego zadania.

Ktoś ma jakieś sugestie, które nie wymagają parsowania strony html i pobierania wszystkich elementów "ręcznie"?

Odpowiedz

13

Według documenation androida: oczywistych względów bezpieczeństwa, aplikacja posiada własną pamięć cache, cookies itd-sklep nie udostępniać dane za pomocą przeglądarki.

Więc możemy skorzystać z powyższej informacji w inteligentny sposób, by w ten sposób:

  • Kiedy chcesz rozpocząć ładowanie swoją stronę, utworzyć nowy obiekt Webview i żądania URL z nim. kod będzie wyglądać mniej więcej tak:

    WebView view = new WebView(context); 
    view.loadUrl(myBigWebSite); 
    
  • Android będzie buforować że dane webview i kiedy poprosić loadUrl z innej działalności powinno być już załadowany.

    // in your WebView activity 
    myWebView.loadUrl(myBigWebSite); 
    

Więcej o WebViews odwiedzić stronę dokumentacje: WebView doc

+1

Czy to prawda, nawet do lokalnego pliku html? –

2

Możesz pobrać wszystkie wymagane pliki (obrazy, etc) do jakiegoś folderu na wątku sieciowego, a następnie użyć czegoś jak

webview.loadUrl("file:///my_cached_folder/index.html"); 

Obrazy będą również zbierane z tego folderu, jeśli odwołuje i obecne. Przeczytaj o otwieraniu lokalnych plików na stronie internetowej here.