Ayhan 15 Temmuz 2014 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

Yazar :

Elektrik-Elektronik mühendisiyim. 2 yıldır bu blogda yazıyorum. Ve 6 aydır aktif olarak internet siteleri yönetiyorum. Kişisel olarak da teknoloji ve fotoğrafçılıkla ile ilgileniyorum.



Beni sosyal medya hesaplarım üzerinden takip edin:

YORUMLAR

  1. Eren

    2 sene ago  

    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

    • 2 sene ago  

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

  2. Cenk

    1 sene ago  

    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.

  3. 10 ay ago  

    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ı?

Daha fazla Android
android
Android Programlamaya Giriş-Android Studio Kurlumu

Merhaba Arkadaşlar, Bu yazımla beraber Android Programlamaya başlıyorum. Bu yazımda Programlamaya başlayabilmek için yapılması gerekenleri,indirilmesi gereken dosyaları ve takip edilmesi...

Kapat