Webmaster Forumu Yeni Nesil Webmaster Sitesi  

Geri Dön   Webmaster Forumu Yeni Nesil Webmaster Sitesi > Programlama / Yazılım > Mobil Uygulama Geliştirme > Android Uygulama Geliştirme

Cevapla
 
LinkBack Seçenekler Stil
  #1  
Alt 06 Ocak 2017, 14:53
WS üyesi
 
Standart Android WebView Uygulama Geliştirme

Herkese Merhaba,

Herkesin mobil uygulaması olması dileğiyle sizlere bu konuyu hazırlamış bulunmaktayım.

Mobil uygulama yapacağınız sitenin responsive olması bu konuda size artı sağlayacaktır, çünkü responsive olmayan bir site mobil cihazlarda tercih edilmez.

Gerekli açıklamalar kod penceresinde yazılıdır. (kırmızı url adresini kendi site adresiyle değiştirin.)

Anasayfa.java
Kod:
import android.app.Activity;
import android.app.ProgressDialog;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
 
public class Anasayfa extends Activity {
 
	private WebView webView;
	private CustomWebViewClient webViewClient;
	private String Url = "http://webmastersitesi.org";
	ProgressDialog mProgressDialog;
	
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.anasayfa);
		
		mProgressDialog = new ProgressDialog(this);//ProgressDialog objesi oluşturuyoruz
		mProgressDialog.setMessage("Yükleniyor...");//ProgressDialog Yükleniyor yazısı 
		
		webViewClient = new CustomWebViewClient();//CustomWebViewClient classdan webViewClient objesi oluşturuyoruz
		
		webView = (WebView) findViewById(R.id.webView1);//webview mızı xml anasayfa.xml deki webview bağlıyoruz
        webView.getSettings().setBuiltInZoomControls(true); //zoom yapılmasına izin verir
        webView.getSettings().setSupportZoom(true);
        webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);   
        webView.getSettings().setAllowFileAccess(true); 
        webView.getSettings().setDomStorageEnabled(true);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebViewClient(webViewClient); //oluşturduğumuz webViewClient objesini webViewımıza set ediyoruz
		webView.loadUrl(Url);

 
	}
	
	private class CustomWebViewClient extends WebViewClient {
		//Alttaki methodların hepsini kullanmak zorunda deilsiniz 
		//Hangisi işinize yarıyorsa onu kullanabilirsiniz.
		@Override  
	    public void onPageStarted(WebView view, String url, Bitmap favicon) { //Sayfa yüklenirken çalışır
	        super.onPageStarted(view, url, favicon);

	        if(!mProgressDialog.isShowing())//mProgressDialog açık mı kontrol ediliyor
	        {
	            mProgressDialog.show();//mProgressDialog açık değilse açılıyor yani gösteriliyor ve yükleniyor yazısı çıkıyor
	        }

	    }  
		
	    @Override  
	    public void onPageFinished(WebView view, String url) {//sayfamız yüklendiğinde çalışıyor.
	        super.onPageFinished(view, url);

	        if(mProgressDialog.isShowing()){//mProgressDialog açık mı kontrol
	            mProgressDialog.dismiss();//mProgressDialog açıksa kapatılıyor
	        }                
	    }  
	    
	    @Override
	    public boolean shouldOverrideUrlLoading(WebView view, String url) {
	    	// Bu method açılan sayfa içinden başka linklere tıklandığında açılmasına yarıyor.
	    	//Bu methodu override etmez yada edip içini boş bırakırsanız ilk url den açılan sayfa dışında başka sayfaya geçiş yapamaz
	       
	    	view.loadUrl(url);//yeni tıklanan url i açıyor
	        return true;
	    }
	    
	    @Override
	    public void onReceivedError(WebView view, int errorCode,String description, String failingUrl) {
	    	//BU method webview yüklenirken herhangi bir hatayla karşilaşilırsa hata kodu dönüyor.
	    	//Dönen hata koduna göre kullanıcıyı bilgilendirebilir yada gerekli işlemleri yapabilirsiniz
	    	//errorCode ile hatayı alabilirsiniz
	    	//	if(errorCode==-8){
	    	//		Timeout
	    	//	} şeklinde kullanabilirsiniz
	    	
	    	//Hata Kodları aşağıdadır...
	    	
	    	/*
	    	 *  /** Generic error 
		    public static final int ERROR_UNKNOWN = -1;
		    
		    /** Server or proxy hostname lookup failed 
		    public static final int ERROR_HOST_LOOKUP = -2;
		    
		    /** Unsupported authentication scheme (not basic or digest) 
		    public static final int ERROR_UNSUPPORTED_AUTH_SCHEME = -3;
		    
		    /** User authentication failed on server 
		    public static final int ERROR_AUTHENTICATION = -4;
		    
		    /** User authentication failed on proxy 
		    public static final int ERROR_PROXY_AUTHENTICATION = -5;
		    
		    /** Failed to connect to the server 
		    public static final int ERROR_CONNECT = -6;
		    
		    /** Failed to read or write to the server 
		    public static final int ERROR_IO = -7;
		    
		    /** Connection timed out 
		    public static final int ERROR_TIMEOUT = -8;
		    
		    /** Too many redirects 
		    public static final int ERROR_REDIRECT_LOOP = -9;
		    
		    /** Unsupported URI scheme 
		    public static final int ERROR_UNSUPPORTED_SCHEME = -10;
		    
		    /** Failed to perform SSL handshake 
		    public static final int ERROR_FAILED_SSL_HANDSHAKE = -11;
		    
		    /** Malformed URL 
		    public static final int ERROR_BAD_URL = -12;
		    
		    /** Generic file error 
		    public static final int ERROR_FILE = -13;
		    
		    /** File not found 
		    public static final int ERROR_FILE_NOT_FOUND = -14;
		    
		    /** Too many requests during this load 
		    public static final int ERROR_TOO_MANY_REQUESTS = -15;
	    	*/ 
	    	
	    }
	}
        public void onBackPressed() //Android Back Buttonunu Handle ettik. Back butonu bir önceki sayfaya geri dönecek
	{
	    if(webView.canGoBack()){//eğer varsa bir önceki sayfaya gidecek
	        webView.goBack();
	    }else{//Sayfa yoksa uygulamadan çıkacak
	        super.onBackPressed();
	    }
	}
	
	
 
}
Bu konumuzun da burada sonuna gelmiş bulunmaktayız. Herkese bol kazançlı günler dilerim.
Alıntı ile Cevapla
Cevapla

Şu an bu konuyu okuyan kişi sayısı: 1 (0 üye ve 1 misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık



Forum Saati: 04:17. Zaman dilimi GMT +3 olarak ayarlanmıştır.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Tüm genel soru(n)lar için; [email protected]
https://webmastersitesi.org/ DMCA.com Protection Status

İçerik sağlayıcı paylaşım sitelerinden birisi olan WebmasterSitesi.org WebMaster Forum Adresimizde T.C.K 20.ci Madde ve 5651 Sayılı Kanun'un 4.cü maddesinin (2).ci fıkrasına göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. WebmasterSitesi.org hakkında yapılacak tüm hukuksal Şikayetler buradan iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 1 (Bir) Hafta içerisinde WebmasterSitesi.org yönetimi olarak tarafımızdan gereken işlemler yapılacaktır.
satılık kedi satılık köpek satılık pug satılık pomeranian satılık scottish fold

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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206