2011-06-28 14 views
12

Pracuję nad projektem, aby uzyskać kod źródłowy html w ciągu znaków w vb.net przy użyciu parsera dom, aby uzyskać kod źródłowy strony.Jak uzyskać kod źródłowy HTML z adresu url w Androidzie?

1) Chcę zaimplementować to samo w Androidzie, jakie będzie podejście do uzyskania kodu źródłowego strony internetowej przez wywołanie adresu URL w Androidzie. 2) Chciałbym mieć dwa układy kodu źródłowego w jednym układzie i inne dla samej strony. Jeśli zmieniam wartość tagu tytułu w układzie kodu źródłowego, to musi ona być automatycznie aktualizowana na aktualnej stronie internetowej?

Jaki byłby najlepszy sposób na zrobienie tego w Androidzie?

Wszelkiego rodzaju pomoc będzie wysoko ceniona.

Odpowiedz

27

W celu uzyskania kodu źródłowego z adresu URL można użyć tego:

HttpClient httpclient = new DefaultHttpClient(); // Create HTTP Client 
HttpGet httpget = new HttpGet("http://yoururl.com"); // Set the action you want to do 
HttpResponse response = httpclient.execute(httpget); // Executeit 
HttpEntity entity = response.getEntity(); 
InputStream is = entity.getContent(); // Create an InputStream with the response 
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8); 
StringBuilder sb = new StringBuilder(); 
String line = null; 
while ((line = reader.readLine()) != null) // Read line by line 
    sb.append(line + "\n"); 

String resString = sb.toString(); // Result is here 

is.close(); // Close the stream 

Można także dodać kilka params do HttpClient zarządzać czas oczekiwania i inne takie rzeczy. Ex:

HttpParams httpParameters = new BasicHttpParams(); 
HttpConnectionParams.setConnectionTimeout(httpParameters,3000); // 3s max for connection 
HttpConnectionParams.setSoTimeout(httpParameters, 4000); // 4s max to get data 
HttpClient httpclient = new DefaultHttpClient(httpParameters); 
+0

dzięki za sugestię, ur Lyrkan – mH16

+0

do 2. części pytania, myślę, że nie powinno być problemu, aby sobie z tym poradzić. Chodzi mi o to, że dla układu wyświetlającego stronę (a nie źródło) zakładam, że będziesz korzystać z Webview, więc będziesz musiał tylko zaktualizować zawartość, nadając jej zaktualizowany kod źródłowy. – Lyrkan

+0

To nie działa. Wystąpił błąd strony sieci Web. –

2

można uzyskać kod html z dowolnego adresu URL za pomocą biblioteki jonową.

Przejdź do struktury projektu, kliknij aplikację, kliknij Zależności, kliknij "+", wpisz jon, a zobaczysz com.koushikdutta.ion: ion: 2.1.8 kliknij i kliknij OK. Teraz możesz użyć biblioteki jonów, aby pobrać kod HTML z adresu URL.

public class HtmlCode extends Activity { 
    TextView tv; 

    public void onCreate(Bundle s) 
    { 
     super.onCreate(s); 
     setContentView(R.layout.httpexample); 

     tv = (TextView)findViewById(R.id.tvHttp); 
     Ion.with(getApplicationContext()).load("http://www.your_URL.com").asString().setCallback(new FutureCallback<String>() { 
      @Override 
      public void onCompleted(Exception e, String result) { 

       tv.setText(result); 
      } 
     }); 
    } 
} 
Powiązane problemy