WebView ist eine Ansicht, die Web-Seiten in Ihrer Anwendung anzuzeigen. Sie können auch HTML-Zeichenfolge angeben und können es in Ihrer Anwendung zeigen mit WebView. WebView macht verwandelt Ihre Anwendung auf einer Web-Anwendung.
Um WebView zu Ihrer Anwendung hinzufügen, müssen Sie fügen <WebView>, um Ihre XML-Layout-Datei Element. Die Syntax ist wie folgt -
<WebView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent" />
Um es zu benutzen, müssen Sie einen Verweis dieser Ansicht in Java-Datei zu erhalten. Um eine Referenz zu erhalten, erstellen Sie ein Objekt der Klasse WebView. Die Syntax ist -
WebView browser = (WebView) findViewById(R.id.webview);
Um eine Web-URL in das WebView zu laden, müssen Sie eine Methode aufrufenloadURL (String url) der WebView-Klasse und gibt die gewünschte URL. Die Syntax ist:
browser.loadUrl("http://www.tutorialspoint.com");
Abgesehen von nur Laden url, können Sie haben mehr Kontrolle über Ihren WebView unter Verwendung der in WebView Klasse definierten Methoden. Sie werden wie folgt aufgeführt -
Sr.No | Verfahren & Beschreibung |
---|---|
1 | canGoBack ()
Diese Methode gibt die WebView hat eine Geschichte zurück Artikel.
|
2 | CanGoForward ()
Diese Methode gibt die WebView hat einen vorderen history item.
|
3 | clearHistory ()
Diese Methode wird die WebView Vorwärts- und Rückwärts-Verlauf löschen.
|
4 | destroy ()
Diese Methode zerstören den internen Zustand der WebView.
|
5 | findAllAsync (String Fund)
Dieses Verfahren finden Sie alle Instanzen von String und markieren Sie sie.
|
6 | getProgress ()
Diese Methode wird den Fortschritt der aktuellen Seite.
|
7 | getTitle ()
Diese Methode zurück den Titel der aktuellen Seite.
|
8 | getURL ()
Diese Methode zurück die URL der aktuellen Seite.
|
Wenn Sie auf einen Link innerhalb der Webpage der WebView klicken, wird diese Seite nicht in Ihrem WebView geladen werden. Um das zu tun, dass Sie Ihre Klasse von verlängern müssen WebViewClient und überschreiben ihre Methode. Die Syntax ist -
private class MyBrowser extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }
Beispiel
Hier ist ein Beispiel demonstriert die Verwendung von WebView-Layout. Es schafft eine grundlegende Web-Anwendung, die Sie bitten wird, eine URL anzugeben und diese URL Website in der WebView laden.
Um bei diesem Beispiel zu experimentieren, müssen Sie diese auf einem Gerät, auf dem Internet läuft laufen.
Schritte | Bezeichnung |
---|---|
1 | Sie werden Android-Studio verwenden, um ein Android-Anwendung unter einem Paket com.example.sairamkrishna.myapplication erstellen.Bei der Erstellung dieses Projekt, stellen Sie sicher SDK Ziel und Kompilieren Sie mit der neuesten Version des Android SDK zu höheren Ebenen der APIs verwenden. |
2 | Ändern src / MainActivity.java Datei auf WebView Code hinzufügen. |
3 | Ändern Sie die res / layout / activity_main zum jeweiligen XML-Komponenten hinzufügen |
4 | Ändern Sie die AndroidManifest.xml, die notwendigen Berechtigungen hinzufügen |
5 | Führen Sie die Anwendung, und wählen Sie einen laufenden Android-Gerät und installieren Sie die Anwendung und überprüfen Sie die Ergebnisse. |
Im Folgenden ist der Gehalt des modifizierten Haupttätigkeit Datei src /MainActivity.java.
package com.example.sairamkrishna.myapplication; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import java.io.FileInputStream; import java.io.FileOutputStream; public class MainActivity extends Activity { Button b1; EditText ed1; private WebView wv1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); b1=(Button)findViewById(R.id.button); ed1=(EditText)findViewById(R.id.editText); wv1=(WebView)findViewById(R.id.webView); wv1.setWebViewClient(new MyBrowser()); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String url = ed1.getText().toString(); wv1.getSettings().setLoadsImagesAutomatically(true); wv1.getSettings().setJavaScriptEnabled(true); wv1.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); wv1.loadUrl(url); } }); } private class MyBrowser extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
Im Anschluss wird der modifizierte Inhalt der XML-res / layout /activity_main.xml.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <TextView android:text="WebView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textview" android:textSize="35dp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Tutorials point" android:id="@+id/textView" android:layout_below="@+id/textview" android:layout_centerHorizontal="true" android:textColor="#ff7aff24" android:textSize="35dp" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/editText" android:hint="Enter Text" android:focusable="true" android:textColorHighlight="#ff7eff15" android:textColorHint="#ffff25e6" android:layout_marginTop="46dp" android:layout_below="@+id/imageView" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignRight="@+id/imageView" android:layout_alignEnd="@+id/imageView" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView" android:src="@drawable/abc" android:layout_below="@+id/textView" android:layout_centerHorizontal="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Enter" android:id="@+id/button" android:layout_alignTop="@+id/editText" android:layout_toRightOf="@+id/imageView" android:layout_toEndOf="@+id/imageView" /> <WebView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/webView" android:layout_below="@+id/button" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:layout_alignParentBottom="true" /> </RelativeLayout>
Hier finden Sie den Inhalt der res / Werte / string.xml.
<resources> <string name="app_name">My Application</string> <string name="hello_world">Hello world!</string> <string name="action_settings">Settings</string> </resources>
Im Anschluss ist der Inhalt der AndroidManifest.xml Datei.
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.sairamkrishna.myapplication" > <uses-permission android:name="android.permission.INTERNET" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
Lassen Sie uns versuchen, um Ihre WebView Anwendung auszuführen. Um die App vom Android-Studio, öffnen Sie eine der Aktivität Dateien Ihres Projekt auszuführen, und klicken Sie auf
Ausführen-Symbol in der Symbolleiste.Android Studio wird wie unten dargestellt angezeigt werden
Jetzt brauchen Sie nur geben Sie eine URL auf das URL-Feld ein und drücken Sie die Schaltfläche Durchsuchen, die angezeigt wird, um die Website zu starten.Aber vorher bitte sicher, dass Sie mit dem Internet verbunden sind. Nach dem Drücken der Taste, würde der folgende Bildschirm angezeigt -
Notiz. Indem Sie ganz einfach die URL in das URL-Feld, wird Ihr WebView Ihre gewünschte Webseite zu öffnen.
0 التعليقات:
Kommentar veröffentlichen