Anasayfa Programlama Android Android programlamaya Giriş-Webview Kullanımı

Android programlamaya Giriş-Webview Kullanımı

8 Dakikada Okunur
5
0
68
android

Merhaba Arkadaşlar,

Bu yazımda sizlere Android üzerinde webview kullanımını anlatmaya çalışacağım bir örnekle.Öncelikle webview nedir ve ne işe yarar bundan bahsetmek gerekir.

Webview android programlarında program içinden bir internet sitesine bağlanmak için kullanılan bir özelliktir. Kullanılması da çok kolay bir özelliktir.Ancak dikkat edilmesi gereken belirli noktalar bulunmaktadır.Bu noktalara dikkat edildiği taktirde sorun yaşamadan programı çalıştırabiliriz.

Öncelikle bir android programının genel yapı taşlarına bakmak gerekir. Bir android programında programlamanın yapıldığı Java kodları ,ara yüzlerin tasarlandığı XML dosyaları ve programla ilgili ayarlamaların ve genel izinlerin ayarlandığı AndroidManifest Dosyası bulunur.Bunlara ek olarak da program içinde bulunması gereken resimlerde eklenir.

Bu örnekte internet kullanımı gerekmektedir. Bu durumda kullanım iznini almamız gerekmektedir. bunun için AndroidManifest dosyasında,
kısmını dışına internet kullanım izni eklenmelidir.

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 

Bu program için dikkat edilmesi gereken bir diğer nokta ise eğer gideceğimiz site SSL desteği sunmuyorsa https:// yerine http:// kullanılmalıdır. Gerekli bilgileri edindikten sonra artık gerekli kaynak kodları paylaşalım.

MyActivity.java:

package com.taskon.ayhan.ayhankorkmaznet;
import android.app.Activity;
import android.app.ProgressDialog;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import android.widget.Toast;
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);//layout dosyası tanımlandı
WebView webview = (WebView) findViewById(R.id.webview);//webview id ile oluşturuldu
webview.getSettings().setJavaScriptEnabled(true);// Site içinde javascript kodşarı varsa çalıştır dendi.istenirse kapatılabilir
webview.loadUrl("http://ayhankorkmaz.net");//Gidilecek site belirtildi.Dikkat edilmesi gereken nokta eğer sitede ssl özelliği yoksa https: yerine http konmalıdır
final ProgressDialog progress = ProgressDialog.show(this, "AyhanKorkmaz.Net", "Yükleniyor...", true);//Site yükleme aşamasında iken progres bar gözükecek
progress.show();
webview.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
Toast.makeText(getApplicationContext(), "Sayfa yüklendi", Toast.LENGTH_SHORT).show();//Site doğru şekilde yüklendi
progress.dismiss();
}
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {//Yükleme sırasında hata oluştu
Toast.makeText(getApplicationContext(), "Bir hata oluştu", Toast.LENGTH_SHORT).show();
progress.dismiss();
}
});
}
}

activiy_my.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"
tools:context=".MainActivity" >
<!--Araüzde webview gözükecek istenirse buradan başka buton vea textview eklenir -->
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.taskon.ayhan.ayhankorkmaznet"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="8" />
<!--Sitemizin logosunu program logosu yaptık ve program ismini ve tamsını belirledik-->
<application
android:allowBackup="true"
android:icon="@drawable/logo"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MyActivity"
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>
<!--Programımızın internet kullanım izni verildi-->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
</manifest>

Artık gerekli tüm kodlarımız hazır. Sizde Adroid Studio üzerinde yeni proje oluşturup kodları kullanarak örnekleyebilirsiniz. Çıktımız ise şu şekilde olmaktadır.Resme tıklayarak büyük halini görebilirsiniz.

AyhanKorkmaz.Net

  • android

    Android Programlamaya Giriş-Android Studio Kurlumu

    Merhaba Arkadaşlar, Bu yazımla beraber Android Programlamaya başlıyorum. Bu yazımda Progra…
Daha fazla ilgili makale
Yazardan daha fazla Ayhan KORKMAZ
  • android

    Android Programlamaya Giriş-Android Studio Kurlumu

    Merhaba Arkadaşlar, Bu yazımla beraber Android Programlamaya başlıyorum. Bu yazımda Progra…
Load More In Android

5 Yorumlar

  1. Eren

    5 Haziran 2015 at 8:16 pm

    Ben wallpaper uygulaması yapmayı düşünüyorum flickr profilimdeki fotoğrafları uygulamaya aktarmam lazım nasıl yapacağımı bilmiyorum malesef araştırıyorum :) Sizin bir bilginiz var mı acaba

    Cevapla

    • Ayhan

      6 Haziran 2015 at 12:25 pm

      Araştırmadım hocam ama Flickr API’si vardır. Oradan çekebilirsiniz.

      Cevapla

  2. Cenk

    11 Haziran 2015 at 8:16 pm

    Teşekkürler oldukça faydalı bir yazı bana sorarsanız, aslında her siteye bir android apk’si yazılabilir biraz uğraşılsa değilmi.

    Cevapla

  3. teknoloji

    12 Şubat 2016 at 11:13 pm

    hocam merhaba, ben sitemde google, face, twietter sosyal ağ girişleri kullanıyorum bunları uygulama ilk ekranında çağırıp bunlarla giriş yapımılmasını istiyorum, nasıl yapabilirim bilginiz var mı?

    Cevapla

  4. Erhan DERT

    21 Ağustos 2016 at 4:23 pm

    Teşekkürler güzel anlatım

    Cevapla

Cevap Yaz