Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
WebView , web sayfalarını görüntülemek için kendi pencerenizi oluşturmanıza (hatta tam bir tarayıcı geliştirmenize) olanak tanır. Bu öğreticide basit bir Activity web sayfalarını görüntüleyebilir ve web sayfalarında gezinebilir.
HelloWebView adlı yeni bir proje oluşturun.
Resources/Layout/Main.axml dosyasını açın ve aşağıdakileri ekleyin:
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
Bu uygulama İnternet'e erişeceği için Android bildirim dosyasına uygun izinleri eklemeniz gerekir. Uygulamanızın çalışması için gereken izinleri belirtmek için projenizin özelliklerini açın. INTERNET aşağıda gösterildiği gibi izni etkinleştirin:

Şimdi MainActivity.cs açın ve Webkit için bir using yönergesi ekleyin:
using Android.Webkit;
Sınıfın MainActivity en üstünde bir WebView nesnesi bildirin:
WebView web_view;
WebView'dan bir URL yüklemesi istendiğinde, varsayılan olarak isteği varsayılan tarayıcıya devreder. WebView'un URL'yi (varsayılan tarayıcı yerine) yüklemesini sağlamak için yöntemini alt sınıflamanız Android.Webkit.WebViewClient ve geçersiz kılmanız ShouldOverriderUrlLoading gerekir. Bu özel WebViewClient örneğinin bir örneği öğesine WebViewsağlanır. Bunu yapmak için içine aşağıdaki iç içe HelloWebViewClient geçmiş sınıfı MainActivityekleyin:
public class HelloWebViewClient : WebViewClient
{
public override bool ShouldOverrideUrlLoading (WebView view, string url)
{
view.LoadUrl(url);
return false;
}
}
döndürdüğünde ShouldOverrideUrlLoading false, Android'e isteği geçerli WebView örneğin işlediğini ve başka bir eyleme gerek olmadığını bildirir.
API düzeyi 24 veya üzerini hedef alıyorsanız, yerine ikinci bağımsız değişken stringiçin bir IWebResourceRequest alan aşırı yüklemesini ShouldOverrideUrlLoading kullanın:
public class HelloWebViewClient : WebViewClient
{
// For API level 24 and later
public override bool ShouldOverrideUrlLoading (WebView view, IWebResourceRequest request)
{
view.LoadUrl(request.Url.ToString());
return false;
}
}
Ardından , ) yöntemi için OnCreate()aşağıdaki kodu kullanın:
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
// Set our view from the "main" layout resource
SetContentView (Resource.Layout.Main);
web_view = FindViewById<WebView> (Resource.Id.webview);
web_view.Settings.JavaScriptEnabled = true;
web_view.SetWebViewClient(new HelloWebViewClient());
web_view.LoadUrl ("https://www.xamarin.com/university");
}
Bu, üyeyi WebView düzendeki ile başlatır ve ile JavaScriptEnabled= true için JavaScript'i WebView etkinleştirir (JavaScript'ten Activity C# işlevlerini çağırma hakkında bilgi için Bkz. JavaScript'ten C# çağırma tarifi). Son olarak, ilk web sayfası ile LoadUrl(String)yüklenir.
Uygulamayı derleyin ve çalıştırın. Aşağıdaki ekran görüntüsünde görüldüğü gibi basit bir web sayfası görüntüleyici uygulaması görmeniz gerekir:
GERİ düğme tuşuna basmak için aşağıdaki using deyimini ekleyin:
using Android.Views;
Ardından, Activity içine aşağıdaki yöntemi HelloWebView ekleyin:
public override bool OnKeyDown (Android.Views.Keycode keyCode, Android.Views.KeyEvent e)
{
if (keyCode == Keycode.Back && web_view.CanGoBack ())
{
web_view.GoBack ();
return true;
}
return base.OnKeyDown (keyCode, e);
}
Bu OnKeyDown(int, KeyEvent) Geri çağırma yöntemi, Etkinlik çalışırken bir düğmeye her basıldığında çağrılır. içindeki koşul, basılan tuşun GERİ düğmesi olup olmadığını ve (geçmişe sahipse) geri gidebilir olup olmadığını WebView denetlemek için öğesini kullanırKeyEvent. Her ikisi de true ise yöntemi çağrılır GoBack() ve bu yöntem geçmişte bir adım WebView geriye gider. döndürme true , olayın işlendiğini gösterir. Bu koşul karşılanmazsa olay sisteme geri gönderilir.
Uygulamayı yeniden çalıştırın. Artık bağlantıları takip edebilmeniz ve sayfa geçmişinde geri dönebilmeniz gerekir:
Bu sayfanın bazı bölümleri, Android Açık Kaynak Projesi tarafından oluşturulan ve paylaşılan çalışmaya dayalı değişikliklerdir ve Creative Commons 2.5 İlişkilendirme Lisansı'nda açıklanan koşullara göre kullanılır.

