Android - Web Görünümü
WebView, uygulamanızın içindeki web sayfalarını görüntüleyen bir görünümdür. Ayrıca HTML dizesi belirtebilir ve bunu WebView kullanarak uygulamanızın içinde gösterebilirsiniz. WebView, uygulamanızı bir web uygulamasına dönüştürür.
Uygulamanıza WebView eklemek için şunu eklemelisiniz: <WebView>xml düzen dosyanıza eleman. Söz dizimi aşağıdaki gibidir -
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
Kullanmak için, bu görünümün referansını Java dosyasında almanız gerekir. Bir başvuru almak için, WebView sınıfının bir nesnesini oluşturun. Sözdizimi -
WebView browser = (WebView) findViewById(R.id.webview);
Web Görünümüne bir web url'si yüklemek için bir yöntem çağırmanız gerekir loadUrl(String url)gerekli url'yi belirten WebView sınıfının. Sözdizimi şöyledir:
browser.loadUrl("http://www.tutorialspoint.com");
Yalnızca url yüklemenin yanı sıra, WebView sınıfında tanımlanan yöntemleri kullanarak Web Görünümünüz üzerinde daha fazla kontrole sahip olabilirsiniz. Aşağıdaki gibi listelenirler -
Sr.No | Yöntem ve Açıklama |
---|---|
1 |
canGoBack() Bu yöntem, Web Görünümünün bir geri geçmiş öğesi olduğunu belirtir. |
2 |
canGoForward() Bu yöntem, Web Görünümü'nün bir ileri geçmiş öğesi olduğunu belirtir. |
3 |
clearHistory() Bu yöntem WebView ileri ve geri geçmişini temizleyecektir. |
4 |
destroy() Bu yöntem, WebView'ın dahili durumunu yok eder. |
5 |
findAllAsync(String find) Bu yöntem dizenin tüm örneklerini bulur ve vurgular. |
6 |
getProgress() Bu yöntem, mevcut sayfanın ilerlemesini alır. |
7 |
getTitle() Bu yöntem, mevcut sayfanın başlığını döndürür. |
8 |
getUrl() Bu yöntem, geçerli sayfanın url'sini döndürür. |
Web Görünümü'nün web sayfasındaki herhangi bir bağlantıya tıklarsanız, o sayfa Web Görünümünüzün içine yüklenmeyecektir. Bunu yapmak için sınıfınızı uzatmanız gerekirWebViewClientve yöntemini geçersiz kılın. Sözdizimi -
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
Misal
İşte Web Görünümü Düzeninin kullanımını gösteren bir örnek. Sizden bir url belirtmenizi isteyecek ve bu url web sitesini WebView'a yükleyecek temel bir web uygulaması oluşturur.
Bu örneği denemek için, bunu internetin çalıştığı gerçek bir cihazda çalıştırmanız gerekir.
Adımlar | Açıklama |
---|---|
1 | Com.example.sairamkrishna.myapplication paketi altında Android uygulaması oluşturmak için Android stüdyosunu kullanacaksınız. |
2 | WebView kodunu eklemek için src / MainActivity.java dosyasını değiştirin. |
3 | İlgili XML bileşenlerini eklemek için res / layout / activity_main'i değiştirin |
4 | Gerekli izinleri eklemek için AndroidManifest.xml dosyasını değiştirin |
5 | Uygulamayı çalıştırın ve çalışan bir android cihaz seçin ve üzerine uygulamayı yükleyin ve sonuçları doğrulayın. |
Aşağıda, değiştirilen ana aktivite dosyasının içeriği yer almaktadır src/MainActivity.java.
package com.example.sairamkrishna.myapplication;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
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;
}
}
}
Xml'nin değiştirilmiş içeriği aşağıdadır res/layout/activity_main.xml.
Aşağıdaki kodda abc tutorialspoint.com logosunu gösterir
<?xml version="1.0" encoding="utf-8"?>
<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>
Aşağıdakilerin içeriği res/values/string.xml.
<resources>
<string name="app_name">My Application</string>
</resources>
Aşağıdakilerin içeriği AndroidManifest.xml dosya.
<?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>
WebView uygulamanızı çalıştırmayı deneyelim. Uygulamayı Android stüdyosundan çalıştırmak için, projenizin etkinlik dosyalarından birini açın
Şimdi sadece url alanında bir url belirtin ve web sitesini başlatmak için görünen göz at düğmesine basın. Ancak bundan önce lütfen internete bağlı olduğunuzdan emin olun. Düğmeye bastıktan sonra aşağıdaki ekran görünecektir -
Not. Sadece url alanındaki url'yi değiştirdiğinizde, WebView'unuz istediğiniz web sitesini açacaktır.
Yukarıdaki resimde tutorialspoint.com'un web görünümü gösterilmektedir.