2016-06-17 2 views
-1

enter image description here Ich bin neu in Android. Ich brauche ernsthafte Hilfe im Android Studio. Angenommen, ich habe eine Website-URL http://www.exampledomain.com, die derzeit in meiner Anwendung in android Studio in Webansicht geöffnet ist. Ich möchte die HTML-Daten dieser Webseite in Form von Zeichenfolge in Android Studio nach dem Klicken auf eine Schaltfläche abrufen. Wie kann ich HTML der Webviewseite in der einfachen Methode in android erhalten. Thankyou so viel im Voraus ...Wie bekomme ich HTML-Tags Daten für jede Website derzeit in Webview in Android-Studio öffnen

Antwort

0

Sie können eine Async Aufgabe verwenden und laden Sie die HTML-Daten von der Website http://www.exampledomain.com

HttpManager.class

public class HttpManager { 

public static String getData(String uri) { 

    BufferedReader reader = null; 

    URL url; 
    try { 
     url = new URL(uri); 
     HttpURLConnection con = (HttpURLConnection) url.openConnection(); 
     StringBuilder stringbuilder = new StringBuilder(); 
     reader = new BufferedReader(new InputStreamReader(con.getInputStream())); 
     String line; 
     while((line = reader.readLine()) != null){ 
      stringbuilder.append(line + "\n"); 
     } 
     return stringbuilder.toString(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
     return null; 
    } finally { 
     if(reader != null){ 
      try{ 
       reader.close(); 
      }catch(IOException e){ 
       e.printStackTrace(); 
       return null; 
      } 
     } 
    } 
    } 
} 

AsyncTask Code:

public class MyAsyncTask extends AsyncTask<String, String, String> { 

@Override 
protected String doInBackground(String... params) { 
    String result = HttpManager.getData(params[0]); 
    return result; 
} 

@Override 
protected void onPostExecute(String result) { 
    //the variable result will contain all the contents you need. 
} 

}

Async-Task von mainactivity aufrufen:

MyAsyncTask myTask = new MyAsyncTask(); 
myTask.execute("http://www.exampledomain.com"); 

Wenn die oben nicht Ihre Anforderung, versuchen Sie den folgenden Code

import android.webkit.JavascriptInterface; 
public class MainActivity extends Activity { 

final Context myApp = this; 

@JavascriptInterface 
public void processHTML(String html) { 
    if (html == null) 
     return; 

} 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    final WebView browser = (WebView) findViewById(R.id.webview); 
    browser.getSettings().setJavaScriptEnabled(true); 
    browser.addJavascriptInterface(this, "HTMLOUT"); 
    browser.setWebViewClient(new WebViewClient() { 
     @Override 
     public void onPageFinished(WebView view, String url) { 
      browser.loadUrl("javascript:window.HTMLOUT.processHTML('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');"); 
     } 
    }); 
    browser.loadUrl("http://www.exampledomain.com"); 
    } 

} 
+0

Vielen Dank für Ihre großzügige Antwort ... Aber ich habe diesen Code und verwendet bereits HTML-Tags zu erhalten. Aber jetzt möchte ich die Website HTML-Tag der aktuellen Website öffnen in der Webview-Steuerelement in Android Studio ... Großzügige Hilfe wird in dieser Hinsicht sehr geschätzt werden ... Mit freundlichen Grüßen – saadsafdar

+0

Ich habe eine andere Methode hinzugefügt, um die Quelle anzuzeigen Code der Website. ich hoffe das ist was du brauchst. – Swathin

+0

Vielen Dank für Ihre großzügige Antwort wieder. Ich habe ein Bild mit der obigen Frage hinzugefügt. Was ich jetzt will, ist im Bild mit Beispiel dargestellt. Bitte lesen Sie es und helfen Sie mir. Ich warte auf Ihre Antwort ... Mit freundlichen Grüßen – saadsafdar

Verwandte Themen