Android Web Browser Yapmak
Bu android programlama dersinde yazıdawebview yardımıyla kendimize basit bir browser yani tarayıcı yapmaya çalışacağız. Önceki yazılarda webview ile ilgili bir örnek yaptığım için üzerinde fazla durmadan direk uygulamamızı programlamaya geçelim. Uygulamamızda 1 edittext, 1 webview ve 5 adet buton kullanacağız.
Xml bölümünde bileşenleri attıktan sonraki görüntü :
Butonlara da sırasıyla bGit, bOnceki, bSonraki, bYenile, bTemizle id’lerini veriyoruz. Şimdi programımızın java yani ana kısmına geçiyoruz. Burada ilk önceliğimiz webview, edittext ve 5 adet butonu uygulamaya tanıtmak olacak. Bu aşamadan sonra aşağıdaki kodlarla webview oluşturuyoruz ve içerisine webviewClient nesne atıyoruz.
1
2
3
4
| wv = (WebView)findViewById(R.id.WebSayfasi); wv.getSettings().setJavaScriptEnabled( true ); wvc = new WebViewClient(); wv.setWebViewClient(wvc); |
Sıra butonlarımıza click görevi atamaya geldi. Bunu da onclicklistener’i implement ederek switch case yardımıyla yapmak daha basit olacaktır.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.bGit: break ; case R.id.bSonraki: if (wv.canGoForward()) wv.goForward(); break ; case R.id.bOnceki: if (wv.canGoBack()) wv.goBack(); break ; case R.id.bYenile: wv.reload(); break ; case R.id.bTemizle: wv.clearHistory(); break ; } } |
Burada dikkat etmemiz gereken git butonumuzda url’de “http://” adresi olmadan program çalışmayacağıdır.
wv.loadUrl(“http://” + et.getText().toString());
O yüzden eklenmek zorundadır. Url’nin http’den sonrasını da elimizle edittext’e yazdığımız adresten çekiyoruz. Programı çalıştırıp git butonuna bastığımızda aşağıdaki gibi görüntü elde edilecektir.
Birkaç sayfa değiştirerek ve yeni url’ler girerek diğer butonları da test edebilirsiniz. Butonların içerisindeki if bloğunda bulunan metodlar ise android içerisinde default olarak bulunan metodlardandır.
Android programlama dersleri ve java derslerine yoğunluğumdan dolayı bir süre ara vermiştim. Ancak zaman buldukça yeni makale ve yazılar yazmaya çalışacağım.
Aklınıza takılan bir şey olduğunda yorum satırından sorunuzu sorabilirsiniz, mümkün olduğunda her yoruma dönüş yapıyorum. Main class ve main.xml dosyalarını tümünü aşağıya ekliyorum.
MainActivity.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
| package com.example.webbrowser; import android.os.Bundle; import android.annotation.SuppressLint; import android.app.Activity; import android.view.View; import android.view.View.OnClickListener; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity implements OnClickListener{ Button git,geri,ileri,temizle,yenile; WebView wv; EditText etUrl; WebViewClient wvc; @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); git = (Button)findViewById(R.id.bGit); // Butonları tanımladık. geri = (Button)findViewById(R.id.bOnceki); ileri = (Button)findViewById(R.id.bSonraki); yenile = (Button)findViewById(R.id.bYenile); temizle = (Button)findViewById(R.id.bTemizle); git.setOnClickListener( this ); geri.setOnClickListener( this ); ileri.setOnClickListener( this ); yenile.setOnClickListener( this ); temizle.setOnClickListener( this ); etUrl = (EditText)findViewById(R.id.editText1); wv = (WebView)findViewById(R.id.WebSayfasi); wv.getSettings().setJavaScriptEnabled( true ); wvc = new WebViewClient(); wv.setWebViewClient(wvc); } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.bGit: break ; case R.id.bSonraki: if (wv.canGoForward()) wv.goForward(); break ; case R.id.bOnceki: if (wv.canGoBack()) wv.goBack(); break ; case R.id.bYenile: wv.reload(); break ; case R.id.bTemizle: wv.clearHistory(); break ; } } } |
activity_main.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
| <LinearLayout 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:orientation= "vertical" tools:context= ".MainActivity" > <EditText android:id= "@+id/eturl" android:layout_width= "match_parent" android:layout_height= "wrap_content" android:ems= "10" > <requestFocus /> </EditText> <Button android:id= "@+id/bGit" android:layout_width= "match_parent" android:layout_height= "wrap_content" android:text= "Git" /> <LinearLayout android:id= "@+id/L1" android:layout_width= "match_parent" android:layout_height= "wrap_content" android:orientation= "horizontal" > <Button android:id= "@+id/bOnceki" android:layout_width= "wrap_content" android:layout_height= "wrap_content" android:text= "Geri" /> <Button android:id= "@+id/bSonraki" android:layout_width= "wrap_content" android:layout_height= "wrap_content" android:text= "İleri" /> <Button android:id= "@+id/bYenile" android:layout_width= "wrap_content" android:layout_height= "wrap_content" android:text= "Yenile" /> <Button android:id= "@+id/bTemizle" android:layout_width= "wrap_content" android:layout_height= "wrap_content" android:text= "Temizle" /> </LinearLayout> <WebView android:id= "@+id/WebSayfasi" android:layout_width= "match_parent" android:layout_height= "match_parent" /> </LinearLayout>
KodBankasi.Org
|
Android Web Browser Yapmak
Reviewed by Unknown
on
03:55
Rating:
Hiç yorum yok: