Merhaba arkadaşlar mobilhanem.com üzerinden anlattığımız/yayınladığımız derslere Android de WebView Kullanımı ile devam ediyoruz. Android de webview yapısı uygulama içinde istenilen adresteki web sitesini açmak için kullanılır. En yaygın kullanımı budur. Bunun dışında WebView üzerinde HTML geliştirme de yapılabilir. Aslında daha basit anlatmak gerekirse uygulama içi browser diyebiliriz.
Biz bugün verilen linkteki yani kendi sitemiz olan mobilhanem.com u açmaya çalışacağız. Açmaya çalıştığımız site eğer responsive bir site ise çok güzel sonuçlar elde edebiliriz.Responsive değilse site otomatik olarak ekran boyutlarına küçülecektir. Zoom in ve zoom out kullanarak sitemizi büyüterek kullanabiliriz. Zaten bu bahsettiğim mobil browserlarda da aynı şekilde .
[wpdm_file id=16]Arkadaşlar aslında internet ortamında webview konusunda çok fazla içerik var. Bizim bu dersi paylaşmamızın sebebi bu dersimizde oluşturduğumuz apk yi imzalayıp google playe yüklemeyi anlatacağız.Bundan sonraki dersimiz muhtemelenen Apk Yı Google Play e yüklemek olacaktır.
Arkadaşlar şimdi geçelim örnek uygulamamıza.Ben yine kod üzerinde gerekli açıklamaları yaptım.
Anasayfa.java
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://www.mobilhanem.com"; 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 dersimde anlatmak istediklerim bu kadar.Anlamadığınız yada eklemek istediğiniz yer olursa çekinmeden yorum bırakabilirsiniz.
Bir dahaki dersimde Google Play e apk yüklemeyi anlatacağım. O zamana kadar kendinize iyi bakın .
Tüm Android Ders, Proje ve Kaynak Kodlar için tıklayınız.
[wpdm_file id=16] 1
hocam elinize sağlık, çok faydalı bir paylaşım… lakin şöyle bi sorun gözüme çarptı: uygulamayı yayınladım tel’e indirdim.. uygulama dan siteme giriş yaptım sorunsuz çalıştı ama misal telefon dikey vaziyetteyken diyelim sitede yer alan bir konuyu tıklayıp açtım ve konuyu daha rahat okumak için telefonu yatay vaziyete getirdim, işte bu durumda uygulama baştan yükleniyor benim açtığım konunun sayfası değil yeniden anasayfa karşıma geliyor, tam tersi içinde aynı durum geçerli(yatayken dikeye geçiş yapınca) .. bunu nasıl çözebiliriz?
Öncelikle yorumunuz için teşekkür ederim.
Androidde ekran orieantation değiştiği zaman yani dikey pozisondan yatay pozisyona yada yatay pozisyondan dikey pozisyona geçtiği zaman OnCreate metodu tekrar çağırılır ve Activity tekrar yüklenir .Bunu engellemenin yolu Manifest.xml dosyasında oluşturduğumuz activity şu şekilde olmalı
Yani şu kısım eklenmeli
android:configChanges=”orientation|keyboardHidden”
teşekkürler hocam
sanırım SDK sürümü yüzünden sorun çıktı yukardaki kod çalışmadı, google’dan baktım 13 sürümü üstü için android:configChanges=”orientation|screenSize”
kodunu çalıştırdım, sorunsuz çalıştı
hocam bi sorum daha olacak müsadenle)
şimdi uygulamayı açıyorum, bi konuya tıklıyorum konuya giriş yapıyorum .. geri dönme tuşuna bastığımda(telefonun geri dönme tuşu) anasayfaya ya da bir önceki sayfaya gitmek yerine doğrudan uygulamadan çıkış yapıyor … bi önceki sayfaya ya da anasayfaya gitmesini nasıl sağlarız?
Onu bende farketmemisim.Akşam dersi güncelleyip tekrar koyucam. Bu arada sorularını çekinmeden sorabilirsin.
Paketi ve dersi bahsettiğin hataları gidererek güncelledim.
Kolay Gelsin…
çok teşekkürler hocam, Allah razı olsun 🙂
Ben teşekkür ederim. Sen yine sitemizi takipte kal hatalarımız olursa çekinmeden bize bildir:)
Kolay Gelsin..
Hocam Elinize Sağlık Eğitimleriniz Çok Güzel Ve Açıklayıcı Teşekkür Ederim.
Size Bir Sorum Olacak. Mobil Siteyi Uygulamaya Dönüştürdüm. Fakat Uygulamada Textboxlar ın içine tıkladığımda yazı yazamıyorum
Textbox’ a tıkladığında klavye mi açılmıyor. diğer input alanlarında açılıyor mu?
Evet Klavye Açılmıyor. Diğer İnput Alanlarında da Açılmıyor.
webView.requestFocus(View.FOCUS_DOWN);
webview.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_UP:
if (!v.hasFocus()) {
v.requestFocus();
}
break;
}
return false;
}
});
Bu kodu bir dene bakalım. İşe yaraması lazım.
Teşekkür Ederim Hocam Çalıştı. Bir Ufak Sorun Daha Var Uygulamada Formlar Çalışmıyor. Örnek : Talep Formunda Eksik Veya Yanlış Bilgi Girildiğinde Uyarı Formunun Çıkması gerekiyor. Fakat Form Çıkmıyor.
Uyarı formu dediğin javascript alert mi ?
Evet
webView.getSettings().setJavaScriptEnabled(true);
şunu bir dene bakalım
Hocam o kod ekli zaten buna rağmen çalışmıyor.
webView.setWebChromeClient(new WebChromeClient());
birde bunu denermisin?
Hocam Çalışmadı Malesef
bide bunu dene bakalım. Bundan başkada çözüm gözükmüyor.
webView.setWebChromeClient(new WebChromeClient(){
@Override
public boolean onJsAlert(WebView view, String url, String message,JsResult result) {
//Required functionality here
return super.onJsAlert(view, url, message, result);
}
});
Taha bey ben file dosyasından html çağırıyorum ve javascript ile alert uyarısı verdiriyorum fakat “file:// adresindeki sayfada şunlar belirtiliyor diyor ve altında benim uyarımı yazdırıyor. Ben bu “file:// adresindeki sayfada şunlar belirtiliyor” nasıl kaldırabilirim sadece benim uyarım çıksın istiyorum. Şimdiden teşekkürler..
Bunu kaldırma şansın yok.Bu android ile ilgili değil bu javascriptin kendi yapısı. Kaldırmana yada düzenlemene izin vermiyor.Normal bir websitesi olsa
Örn: “www.mobilhanem.com sitesi diyorki : ”
diyecek veya localda olsa
“localhost diyorki :”
şeklinde diyecek. Sende filepath altında olduğu için o şekil mesaj veriyor. Bunu kaldırmak istiyorsan custom alert yapılarını kullanacaksın.Jquery ile hazırlanmıs Custom Alert mesajlarda bu şekilde bir başlık bulunmuyor.
bu kod nereye eklenecek eklemeye çalıştığımda View lerin altını çiziyor MotionEvent ininde altını çiziyor MotionEvent üstüne gelince importunu ekleyince tamamen hata veriyor 🙂 inş anlatabilmişimdir
buranın altına ekleyebilirsin.
tşk ederim usta tablete attım gayet başarılı çalışıyor
Önemli değil.
Kolay gelsin…
Hocam Merhabalar Sizin Yukarıda yazdığınız kodları ekliyoruz ve güzel bir şekilde çalışıyor. Teşekkür ederiz. Webview ile yönlendirilen site internet olduğu zaman çalışıyor. İnternet kontrolünü yapan kodları da yazmanız mümkünmüdür acaba. Yani Uygulama Açılırken İnternet Var mı Yokmu Kontrol Etsin İnternet Yoksa “Lütfen İnternet Bağlantınızı Kontrol Ediniz” Uyarısı Çıksın Şimdiden tşk. ederim.
Hocam Kodları eklediğimde internet olmadığında sayfa görüntülenemiyor uyarısı yok. Yapmak istediğimizin birinci aşaması buydu. Fakat Uyarı vermiyor İnternet Yokken Uygulama çalıştırıldığında sadece beyaz bir ekran geliyor ve öylece kalıyor.
Tamam işte orda Alert kullanacaksın .
Hocam Hiçbir Hata veya sıkıntı görünmüyor fakat yukarıdaki kodları eklediğimde de Beyaz Bir Ekran geliyor onun dışında hiçbir uyarı yok
Bu son eklediğim kodu else kısmına ekliyeceksin .
Pardon AndroidManifestte izin vermek de gerekiyor interneti test etme için onu unutmusum.
bunuda manifeste eklemeniz gerekiyor.
Tamam Hocam Ekledim Şimdi Uyarı Kısmı Çalışmaya Başladı. Fakat İnternet Olsada Olmasada İnternet Bağlantısı Yok Uyarısı Veriyor.
Emülatörden denemeyin gerçek cihazdan deneyin.Bende sorunsuz çalışıyor paylaştığım kod.
Gerçek Cihazda da Emulatörde de Aynı Uyarıyı Veriyor
iletişim bölümünden mesaj atabilirmisin?
if(isOnline()){
webView.loadUrl(Url);
}else{
AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle(“Hata…”);
alertDialog.setMessage(“İneternet Bağlı değil!”);
alertDialog.setButton(“Tamam”, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
alertDialog.setIcon(R.drawable.icon);
alertDialog.show();
}
böyle yapıyorum AlertDialog altını çiziyor import android.app.AlertDialog; unu ekliyorum bu seferde
new AlertDialog.Builder(this)
burayı tamamen çizyor ayrıca setButton dan sonrasınıda çiziyor nasıl yapmalıyım bunun derlenmiş halini tekrar yayınlarmısınız kod olarak yeni başladım web sitemi yayınlamak istiyorum şimdiden tşk ederim
Bu sorunsuz çalışacaktır.
sağol hocam hata vermeden çalıştı
teşekkürler hocam 🙂
yapamayanlar android manifeste izin verin o zaman olur
bu kodla izin verebilirsiniz
androidmanifest.xml dosyasına ekleyin bu kodu
🙂
Hocam webviewde uygulamayı tamamladıktan sonra sayfa yenileme işlemini nasıl yapabiliriz. Mesela twitterda ekranı aşağı doğru kaydırınca sayfa yenileniyor. webview ile yapılan uygulamada böyle bir yenileme işlemi yapabilirmiyiz.
ActionBar kullanabilirsin.Action Bar ‘a refresh butonu eklersin dediğin işlemi yapabilirsin.
webView.loadUrl( “javascript:window.location.reload( true )” ); bu kod sayfayı bastan yüklemeye yarar.
Hocam Merhabalar;
uygulama içerisinde açılan sitede bulunan pdf vb. uzantıdaki dosyaları indirmek istenirken veya açmaya çalışılırken NOT FOUND hatası vermektedir. Normal Siteden açıldığında download da problem yoktur. Dosyayı nasıl download edebiliriz. Şimdiden Teşekkürler.
Merhaba,Webview içinde normal siteden download eder gibi dosya download edemezsiniz. Bunun için farklı yol kullanmanız gereklidir.
bu kodu kullanarak dosyayı direk açtırabilşirsin.
slm daha yolun başanda olduğumdan. bu kodu kullandığımda DownloadListener(), Intent ve setData kırmızı renk alıyor. ekstra kullanmam gereken kodlar var mı.
Hayır extra bir kod gerekli değil. Gerekli importları yapmamıs olabilirsin.
impotları yazmanız müm kün mü?
gerek kalmadı hocam buldum. teşekkürler cevap için..
import android.content.Intent;
import android.net.Uri;
import android.webkit.DownloadListener;
Çözümü paylaştığın için teşekkür ederim.
Hocam iyi çalışmalar;
Benim şöyle bi sorum olacaktı.Acaba biz String URL’yi kodlarımız içine değilde bir text içine yazıp kullanıcının istediği bir url’den indirmeyi nasıl yapabiliriz ?
Soruyu tam olarak anlayamadım.Biraz daha açıklarsan yardımcı olmaya çalışacağım.
Hocam Merhabalar,
WebView üzerinde local sitemi açtığımda resimler görünmemektedir. Eclipse CatLog üzerinde resim dosyaları tektek kırmızı renklerle sıralanmaktadır. Html dosyam res/raw klasörünün içinde, resimler ise items klasöründe bulunmaktadır. Nasıl çözebilirim?
yüklediğin html dosyaları ile imageler anı yerde olması gerekir.Bu şekilde dener misin?
Webviewi uygulama gibi nasıl yapabilirim?
Arkadaşlar yardım edin sorun nedir?
onBackPressed() methodunu yanlış yere yazıorsun. setWebClient() methodunun dışına koyacaksın.
Setwebclient()çok önceden değil miydi? Dışına derken süslü parantezin dışı anlamında mı?
Evet süslü parantezin dışına yazacaksın.Burdaki uygulamayı indirip incelersen daha iyi anlayacağını düşünüyorum.
selamunaleyküm…bilgi paylaşımıznızdan dolayı çok teşekkür ederim.Ben bu kodları kendi projeme uyguluyorum ama malesef web sitem görüntülenmiyor.eğer vakit ayırıp en başından adım adım nasıl yapılacağını resim yada video destekli anlatabilirseniz çok memnun olurum.ALLAH razı olsun
Aleykümselam. Bu kodda senin yapman gereken tek şey URL’i değiştirmek başka bir şey yapmana gerek yok.Resim ve videolu anlatım yapmıyoruz. Bu şekilde calışan kodlar paylaşıyoruz kusura bakma.
Merhabalar güzen anlatımlarınız için teşekkür ederim. Ben webview ile ilgili bir sıkıntı ile karşılaşıyorum. Bir sosyal paylaşım sitesi projem var ben websitemi responsive uyumlu olarak yaptım. Herşey webview de çok güzel fakat giriş yapmak istediğim zaman beni normal tarayıcıya yönlendiriyor ve oradan giriş yapabiliyorum. Bunun önüne geçilemezmi. Yani giriş yap butonuna tıkladığımda normal bir şekilde giriş yapamıyormuyuz ?
Bu methodu kullanmıyor musun?
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;
}
Verdiğiniz bilgi için teşekkür ederim. İşime yaradı fakat çok fazla kullanışlı olmadığını gördüm. Bu yüzden android için websitemi tekrar yazmak istiyorum. Bu konuda size sorular sorabilirmiyim bilmiyorum. Tek başıma çalıştığım için biraz zorlanabilirim gibi geliyo.
Android için websitenizi yazmaktan kastınız nedir? Native olarak uygulama mı yazacaksın.
Aslına bakarsanız evet. Birçok site ve video izledim ancak hep birşeyler eksik anlatılıyo yada ben anlamıyorum :/ . Bu konuda bilgi sıkıntısı çektiğimi söyleyebilirim. Ben tema’yı hazırladım giriş sayfası ListView vs. ancak görsellerin hiçbiri database ile bağlantılı değil. Bağlantıyı kurarak ekrana veri yazdırmayı öğrenmek istiyorum.
Bunun için (veritabanından bilgi çekip uygulama içinde kullanmak için) bizim bir sürü dersimiz var. Tüm derslerimize göz gezdirirsen çok işine yarıyacaktır. Takıldığın yerde zaten soru sorabilirsin.
Yanıtınız için teşekkür ederim. Birşey sormak istiyorum android webview uygulamalarında biz sayfamızın içerisindeki JQuery kodlarını Bu şekilde çağırıyoruz: webView.getSettings().setJavaScriptEnabled(true); fakat benim yazdığım Jquery kodları WebView içerisinde çalışmıyor sorun ne olabilir acaba ?
Webview’de dışardaki bir linki’mi açmaya çalışıyorsun yoksa asset klasörü içinden mi çağırıyorsun?
Asset klasörü ?
Ben şu şekilde bir kod düzeni oluşturdum.
package test.test;
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 MainActivity extends Activity {
private WebView webView;
private CustomWebViewClient webViewClient;
private String Url = “http://www.test.com/”;
ProgressDialog mProgressDialog;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mProgressDialog = new ProgressDialog(this);
mProgressDialog.setMessage(“Loading…”);
webViewClient = new CustomWebViewClient();
webView = (WebView) findViewById(R.id.webView);
webView.getSettings().setBuiltInZoomControls(false);
webView.getSettings().setSupportZoom(false);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(webViewClient);
webView.loadUrl(Url);
}
private class CustomWebViewClient extends WebViewClient {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
if(!mProgressDialog.isShowing())
{
mProgressDialog.show();
}
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
if(mProgressDialog.isShowing()){
mProgressDialog.dismiss();
}
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onReceivedError(WebView view, int errorCode,String description, String failingUrl) {
}
}
public void onBackPressed()
{
if(webView.canGoBack()){
webView.goBack();
}else{
super.onBackPressed();
}
}
Taha kardeşim ben buna admob reklam eklemek istiyorum nasıl yaparım?
http://www.mobilhanem.com/android-webview-ile-admob-banner-ve-gecis-reklamlarini-birlikte-kullanma/ bu dersimden faydalanabilirsin.
Hocam ben daha çok acemiyim bu konuda hiç deneyimim yok webview yöntemiyle bi uygulama yapmak istiyorumda çözemedim sitenin teması mobil uyumlu sadece uygulama yapmam lazım yardımcı olurmusunuz. Site www. takiliyog. com yardımcı olursanız sevinirim e posta adresim [email protected]
Kaynak kodu indirkdikten sonra sadece linki değiştirmeniz yeterli olacaktır.
Merhaba,
Ben mevcut bir uygulama yaptım ve icinde bircok webview ozelligi kullandim ancak sorunum pdf icerikli bir dosya olan sayfada pdf dosaysini tiklayinca indirememek. Bunun bir yolu var mi? Aslinda tam olarak istedigim hem pdf dosyalarini yada word excel gibi dosyalari indirme ozelligini webview e entegre etmek ayrica pdf dosyasini mevcut bir eclipse android projesinde ayni imageview gibi bir arac ile goruntulemek mumkun mu? Yardimci olursaniz sevinirim.
Evet bunu yapmak mümkün. Bunun için bu dersimi incelemeniz gerekmektedir.
http://www.mobilhanem.com/android-download-manager-kullanimi-ornek-kod/
Teşekkürler indirme için bu kodları projeme uyarlayacağım. Diğer sorum için yani mevcut bir proje içinde pdf word gibi dosyaları proje içine entegre edilen bir araç ile otomatik açmasını sağlayabilir miyiz?
Projeyi bir türlü indiremiyorum,import dediğimde eclipsede ” eclipse import invalid project description ” şeklide hata veriyor acaba nasıl bu projeyi kullanabilirim çok teşekkür ederim
İndiremiyor musunuz yoksa eclipse import mu edemiyorsunuz???
Projeyi indiriyorum fakat import etmiyor hocam,
Adım 1 :
http://prntscr.com/7ev8hb
Adım 2
http://prntscr.com/7ev8nk
Adım 3
http://prntscr.com/7ev8re
şimdiden tümr yardımlarınız için cok teşekkür ederim hocam
İndirdiğin projeyi zipten çıkarıyor musun?
Birde projeyi kendin workspace atma. Örneğin masaüstüne at ordan import etmeyi dene.
Taha hocam bu dosyaları Android Studio’da düzenleyebilir miyiz. İmport ettim düzenlemeleri de yaptım, ancak derleme işlemini yapamıyorum. onu nasıl yapacağız. Run yaptığımda da “Error running Anasayfa: No Android facet found for WebViewKullanimi” böyle hata veriyor.
İmport ederken “Import Project (Eclipse,gradle..) ” olanı mı seçiyorsun?
Hocam Ben kendim yaptığım html sayfasının webview de göstermek istiyorum bilgisayar yolunu veriyorum gelmiyor. Yardımcı olursanız sevinirim.
Yazdığın kodu herhangi bir sunucuya yükledin mi yada localinde sunucu üzerinden mi çalıştıryorsun?
İmport etmede sıkıntı yaşıyorum. Hata veriyor. Yoksa ben mi yanlış yapıyorum?
İmport etmede sıkıntı yasıyorsan bu uygulama zaten sadece tek classdan olustugu için direk kopyalayıp yapıstırabilirsin.
ben php dosyasında upload işlemleri yaptırıyorum normal mobil tarayıcıda rahatça yaptırabiliyorum ama uygulamanın webviewinde olmuyor java kodlarını çalıştır demişsin ( webView.getSettings().setJavaScriptEnabled(true);) onda sıkıntı yok telefonun kendi yöntem seç penceresini açtıramıyorum
Bu yukardaki kodları internette araştırıp buldum kendim denemedim. Denedikten sonra olumlu sonuç alıp bildirebilirsen ipucu olarak yayınlayalım.
hocam bu kodları nereye ekleyeceğiz hata veriyor sürekli Anasayfa.java nın içine ekledim ben
hocam bu kodları nereye ekleyeceğiz hata veriyor sürekli Anasayfa.java nın içine ekledim ben
webView.setWebViewClient(webViewClient);
Buranın altına yapıştıracaksın.
aynen altına yapıştırdım fakat hata veriyor nerede yanlışım var acaba
Hocam merhaba,
verdiğiniz kodlara uygun webview gerçekleştirdim. Tek sıkıntım webviewde indirme yapmaması download manager konunuzuda okudum fakat bir çıkarım yapamadım yardımcı olur musunuz ?
Hocam s.a.
çok teşekkür ederim action bar ile web view konularını birleştirerek güzel bir uygulama yaptım. Fakat yenile butonu ile web wiew sayfasını nasıl yenileteceğiz. Biraz yeniyim bu konularda ama çözebilirim yardımcı olursanız. Sizin actionbar uygulamanızda yenile butonuna basınca buton görünümü yeniliyor gibi gösteriyor fakat webview de bi değişiklik olmuyor.
Peki ActionBar dersi ile webview dersini sorunsuz olarak birleştirebildin mi?
evet hocam. hatta üstüne push natification dersini de birleştirdim. şuan admob banner ve geçişli reklam derslerindeki kodları ve download maneger dersindeki kodları entegre etmeye çalışıyorum. o konularla ilgili de yorumlarım vardı. Tek sıkıntım Google analytics ekleyemedim. çok uğraştım ama olmuyor. bununla ilgili de bir konu yayınlayabilecek misin?
pekde yeni değilmişsin:) Download manager sorusunu gördüm ama o dersi o kadar önce hazırladım ki şuan ben bile hatırlayamadım. Analytics konusuna gelince onu bende denedim fakat bende başarılı sonuç alamadım fazlada uğraşmadım. Analytics gibi çalışan AppSee diye bir site var hemde kullanıcının yaptıklarını video olarak veriyor çok başarılı incelemeni tavsiye ederim.
Bu aralar pek ders yayınlamayı düşünmüyorum hem işlerim yoğun hemde insanlar dersleri çalıştırmayı başaramayınca bizi suçluyor biraz hevesim kırıldı.
yok hocam gerçekten ilk defa yapıyorum. yani birazcık programlamadan anladığımızdan bazı algoritmaları kurarak çözdüm sayılır. hem sende gayet başarılı ve ince ayrıntısına kadar anlatmışsın hocam. eline emeğine sağlık.
appSee tavsiyeni değerlendireceğim. teşekkürler bu konuda.
Ders yayınlama konusunda beceremeyenlerin lafları yuzunden bence bırakmamalısın. bence bu işe yeni başlayanların ve ilgilenenlerin senin gibilere ihtiyacı var hocam.
sana admob reklamları için bir sorum olacak. ben iki yerde çalışıyorum android studio ile. genymotion cihazını iki ayrı yerde kullanıyorum. admob için iki ayrı testID nasıl ekleyeceğim. kaynak kodunda sadece 1 adet testID giriliyor. ikinci test ID yi nasıl ekleyeceğim. virgül ile ilk ID nin yanına mı yoksa aynı kodları kopyalayıp ikinci kodu mu değiştireceğim..
YORUM İÇİN TEŞEKKÜR EDERİM.
adRequest = new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice(“C997A99311004C86029CF82C7402F675”)
.addTestDevice(“C997A9931100SAJDASDASD734543”)
.addTestDevice(“C997A9931100SAJDASDASD734543SDASD”)
.build();
Bu şekilde dener misin?
Saol hocam deniycem..
Selamın aleyküm kardeşim. Bu download meselasini çözemedim bi türlü. bunun için webviewde her her bir butona tıklandığında url nin uzantısını kontrol ettirsek. uzantı .apk veya .rar ise cihazın varsayılan tarayıcısına yönlendirecek. bu uzantılardan biri değil ise uygulamanın içerisinde açacak. bunu yapamaz mıyız acaba.. gerçekten çok lazım. kaç güncür uğraşıyorum download menegeri halledemedim. Yardımcı olursan çok sevinirim kardeşim.
Hocam hiç bir değişiklik yapmadan direkt dosyaları açıyorum fakat yine böyle bir hata alıyorum. Nasıl çözebilirim ?
webview içerisinde ornek.com/example.pdf gibi pdf uzantılı bir dosyanın içeriğini nasıl gösterebilirim
http://stackoverflow.com/a/5296125 bu linki incelemelisin.
Merhaba,
WebView kullanarak bir çalışma yaptım fakat bir yerde takılıp kaldım.
Webview içinde açtığım sitede telefon numaraları var normal mobil cihazlardan girildiğinde numarayı tıklayınca arama yapıyor fakat webview ile yaptığımda arama yapamıyorum bir çok sitede bulunan örnek kodları denedim çözüm olmadı sizce neyi gözden kaçırıyorum ben bana bir çıkış yolu önerebilir misiniz?
İyi çalışmalar.
Uygulamanıza arama izni verdiniz mi?
Merhaba,
Sorunu çözdüm fakat sorun ne kaynaklı onu anlamadım 😀
Çözümü şu şekilde yaptım;
Projeyi silip baştan başladım ve bu sefer sona bıraktığım arama özelliğini ilk olarak test ettim bir iki test sonunda çalışınca yavaş yavaş diğer kısımları yazarak hallettim.
Teşekkürler…
Sorunun çözülmesine sevindim.
Kolay gelsin..
Taha Hocam Merhaba
Webview İle hazırladığımız uygulamaya her sayfada internet kontrolü yapmak istiyoruz. size bunu sormuştum daha önce sizde shouldOverrideUrlLoading altına internet kontrol kodunu eklememi söylemiştiniz. ekliyorum fakat yanlış çalışıyor. webview ile çektiğim sitedeki hangi linke tıklarsam tıklayayım hep anasayfa açılıyor. tıkladığım her linkte internet bağlantı kontrolü yaparak linke gitme işlemi için yardımcı olabilirmisiniz. teşekkürler
Merhaba ben webwiev sorunsuz sekilde sitemi ekledim fakat menu eklemek istiyorum menude. Hakkinda. Facebook sayfasi gibi bu nasil olabilir sitede menu ornegi var fakat iki dersi birlestiremedim tesekkur ederim
Burdaki kodları fragmentlardan açılmasını istediğinin içine koyacaksın bukadar.
Burdaki webview kodları Acctivity’de ben koyamadım diyorsan buyur Fragment içinde webview kullanımı.
http://www.survivingwithandroid.com/2013/03/android-fragment-tutorial-webview-example.html
Hocam çok teşekkür ederim.
Önemli değil kolay gelsin.
Merhaba Hocam Webview İle Hazırladığımız E-Ticaret Sistemi var Android Uygulamaya Gönüştürüp Telefona Kurduğumuzda Herşey Normal Çalışıyor 1 Sorun Dışında;
1- Ödeme Formunu Doldururken Formu Doldurmamız İçin Klavye Çok Geç Geliyor ve Zaman Zaman Formu Doldururken Uygulamadan Atıyor.
Bu Sorunla Mobil Sitede Karşılaşmıyoruz.
merhaba…hocam ben internet açık olmadığında ekranda url uzantısının görünmesini nasıl engelleyebilirim.birde internet açık değilse internetinizi açmak istermisiniz şeklinde bir butonun çıkıp internet ayarlarına gitmesini nasıl sağlayabilirim teşekkür ederim.
Android internet kontrolü :
https://www.mobilhanem.com/android-manuel-ve-otomatik-broadcast-receiver-internet-baglantisi-kontrolu/
Bu dersi inceleyip internet kontrolünü sağlayabilirsin.
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClassName("com.android.phone", "com.android.phone.NetworkSetting");
startActivity(intent);
Yukarıdaki kod ile internet ayarlarını açtırabilirsin.
S.A. Hocam Kolay Gelsin.
Webview de multi file upload işlemini nasıl kullanabiliriz?
Uygulama toplu seçiyor fakat tamama tıklayınca dosya seçilmedi diyor. Ama tek seçince seçiyor dosyayı.
teşekkür ederiz
Merhaba, mevcut kodlarınıza örneğin internet yoksa yada ilgili site açılmazsa örn. site açılmıyor şeklinde bir hata verdirmek için nasıl bir kod eklemeliyiz? Bİlgi verirseniz sevinirim.
merhaba bir web projesi yaptım (php) bunu android telefonumda da çalıştırmak istiyorum.Hangi yolları izlemem gerek?
Hocam merhaba.Ekranı yatay konuma getirince uygulama yeniden başlatmış gibi ana sayfaya dönüyor bunu nasıl engelleyebilirim ?
Aşağıdaki gibi AndroidManifest.xml dosyasında activity’ne android:configChanges=”orientation|screenSize” eklemen gerekiyor.
Teşekkürler
“.SeninActivityAdın” bu kısma tam olarak ne yazacağız acaba? Bir türlü yapamadım. Sürekli hata veriyor.
Merhaba web wiew olarak uygulama yaptım yayınlandı fakat sitedeki pdf linkleri açılmıyor nasıl çözebilirim.
Hocalarım merhabalar. Bir türlü tam ekran video oynatamadım. Tam ekran video için hangi kodu tam olarak nereye eklememiz gerekiyor acaba?
https://www.mobilhanem.com/android-firebase-admob-gecis-reklami-eklemek/
hocam tam ekran video yapamıyorum. yani youtube videoları oynatılıyor ama onları tam ekran yapamıyorum.
Webviewin üstüne text yazdırmak istiyorum ama hep webview in altına kaçıyor ve rogramı çalışınca görünmüyor textview,bunu nasıl çözebilirim?
Bunu FrameLayout kullanarak çözebilirsin. İnternetten framelayout kullanımını araştırabilirsin.
Örn:
Yukarıdaki gibi bişeyler deneyebilirsin.
merhaba .
benim problemim şu.
uygulamamın içinde bir WebView var ve normalde gayet iyi çalışıyor. Sıradan websitelerini açabiliyor. Fakat
https://paperplanes.world/
https://www.progressivewebf…
gibi adresleri yükleyemiyor.
Kesinlikle bir yerlerde kodlama eksiği yapıyorum fakat bulamadım. Bu şekilde ki siteleri WebView üzerinde açmak için kodlama kısmında neler eklemeliyim.
NOT: Bunun mümkün olduğunu biliyorum çünkü http://www.appsgeyser.com üzerinden website görüntülemesi yapan bir uygulama yaptığımda bu websiteleri sorunsuz olarak çalışıyor. Yani sorun benim kodlama eksiğimden kaynaklanıyor. addJavascriptInterface kullanmam mı gerekiyor acaba
şimdiden teşekkür ederim
Merhaba ben Webview kullanarak bi uygulama yaptım fakat bu webview ın içerisindeki pdf dosyalarını açmıyor. Örnek olarak öğrenci bilgi sistemini açıyorum fakat orda transkripte girdiğim zaman pdf olduğu için açılmıyor yardımcı olur musunuz?
Merhaba, Taha Hocam Derslerinizi ilgiyle takip ediyorum. Yalnız bir problemim var. WebView ile sitemi yayınladım, google playstore de şuan yayınlanıyor. Ancak bugün farkettiğim konu şu bu webview üzerinden resim yükleyemiyorum. Chromeden sitemi açtığımda yine mobil görünümü geliyor ve resim yükle tuşuna basıp resim yükleme seçeneklerine ulaşabiliyorum ( Dosyadan Seç, Kamera vs.. ) ama WebView de bu tuş hiç basılmıyor sanki orada silik bir yazı varmış gibi görünüyor. Bu durumu nasıl düzeltebilirim.
Uygulamada javayı aktif etme kodu ( tarayici.getSettings().setJavaScriptEnabled(true); ) yazdığımda hata vermişti bende
@SuppressLint(“SetJavaScriptEnabled”)
public class MainActivity extends Activity {
hatayı public class üstüne bu kodu yazarak gidermiştim. Java kodu olmadan siteye giriş dahi yapmıyordu şimdi yapıyor ancak bu dosya yükleme tuşu canımı sıkıyor, bir çok kişide aynı hatadan yakınıyor.
Manifest doyasında verdiğim izinler bu şekilde:
Yardımlarınızı bekliyorum, İyi çalışmalar dilerim.
Merhaba Taha Hocam, bende giresunluyum hemşeri sayılırız. 4-5 saat önce bir sorundan bahsetmiştim bunu yorum olarak yazmıştım. Şimdi bakıyorum yorumum silinmiş. Açıkcası biraz kırıldım.
Küfür olmadıkça kimsenin yorumunu silmiyoruz. Sizin yorumuda silmedik. Panelden baktığım zaman yorum duruyor ama sitede gözükmüyor. Sebebini bende bilmiyorum. Disqus yorum sistemi ile alakalı olabilir. Resimdede görüldüğü üzere yorumun onayı duruyor. https://uploads.disquscdn.com/images/e63616e4422ef96a29894f6631c555eaee592e3f2c0ce3d89af9a8a745513876.png
Sorduğun soru hakkında bir bilgim yok. Sorduğun soru sıkça sorulan bir soru bizde tam olarak çözümünü bulamadık.
Merhaba Taha Hocam, bir sitede çözüme yönelik yol buldum ancak php ve java bilgim olmadığı için devam ettiremedim. Sorunumu orayada yazdım bir ilgilenirseniz belki birçok kişinin çözümü bu şekildedir 🙂
Linki yazıyorum ama site hata veriyor hocam, bende linki kısaltıp koydum.
https://goo.gl/yXePFi
hocam merhaba eski bir yoruma yazıyorum.
Webview ile mobil uyumlu sitenin uygulamada açılınca header, footer kısımlarını logo menü vs görünmesini istemiyorum. bunu nasıl sağlayabilirim.
teşekkürler.
Bunu android tarafından sağlamanız çok zor.
https://www.mobilhanem.com/android-jsoup-ile-html-parsing/
Yukarıda ki dersteki gibi parse etmeniz ve div leri tek tek bulıup hidden yapmanız lazım.
Anladım Taha Hocam, Yanlış anlaşılma var, tepkim için özür dilerim.
http://www.aattk.net/2017/08/basit-webview-uygulamas-yapm-android.html
Burayada bakabilirsiniz baya iyi anlatmış arkadaşlar
Merhaba,
Webviewde malum siteyi çalıştırıyoruz ancak uygulamalarda adsense kullanmak yasak. Web sitesinde olan adsense’lerin uygulamada görünmemesi sağlanabilir mi?
Hocam şimdi biz bu kodu nasıl yapacağız yani onu anlamadım, biraz daha detaylı anlatman mümkün mü?, bu kodu hangi program ile açacağız vs.
Öncelikle herkese kolay gelsin, web tabanlı bir yazılımım. bu yazılımda kullanıcılar kullanıcı adı ve şifresini giriş yaparak sisteme erişebiliyor. firma bunu android uyguma olarak istiyor. direk webview içinde kullanmam yeterli. fakat google play bu tarz uygulamayı yayınlamayı kabul eder mi ? Daha sonra aynısını ios içinde yapıcam. apple store hakkında da bilginiz varsa paylaşırsanız sevinirim. iyi günler
Hocam anlatımın için çok teşekkürler, çok faydalı bir anlatım olmuş. Ancak benim karşılaştığım bir sorun var. Android studio yu kurdum. Virtual device oluşturup emulate etmeye çalışıyorum ancak sürekli olarak aşağıdaki hatayı alıyorum.
——————————————————-
Executing tasks: [:app:assembleDebug]
Gradle build finished in 21s 942ms
Emulator: Process finished with exit code -1073741819 (0xC0000005)
——————————————————-
Android studio yu güncelledim, sdk ve api kütüphaneleri güncelledim, virtual device in RAM boyutunu büyütüp küçülttüm. Antivirüs ü devre dışı bıraktım vs.vs.vs. 1 haftadır uğraşıyorum, bir türlü “Emulator: Process finished with exit code -1073741819 (0xC0000005)” hatasını aşamadım.
konu hakkıda siz veya bilgisi olan arkadaşlar yardımcı olabilir mi?
Hocam merhaba, bir webview uygulamam var açılırken progress bar yükledim sıkıntı yok ama açıldıkdan sonra site içerisinde başka bir sayfaya gitmesi için tıkladığımda örneğin ana sayfadan iletişim sayfasına gitmek için tıkladığımda tekrardan iletişim sayfası yüklenene kadar progressbar gelmesini istiyorum yardımcı olabilirmisiniz. Bu olmadığı için bazı sayfalara tıklanıyor arka tarafta yükleme işlemi yapılıyor ancak geç sürdüğü durumlarda kullanıcı yüklenmediğini veya uygulamanın donduğunu düşünebiliyor bi fikriniz varsa yardımınız için teşekkür ederim şimdiden iyi çalışmalar.
Merhaba, Taha hocam sitenizi çok beğeniyorum. Benim için çok faydalı oldu, emek verenlere teşekkür ediyorum. Bir sorum olacak; webview uygulamasında kullanıcının açtığı bir sayfayı indir butonuna basıp indirebilmesini ve daha sonra bu sayfaya offline olarak ulaşabilmesini istiyorum, bunu nasıl yapacağım.
uygulama projem, telefon uygulaması google chrome aktif iken uygulama içindeki hedef url de olan oyundaki nick rumuz bağlantısı arka planda kesiliyor.
google chrome devredışı bıraktigimda ise oyundaki nick bağlantısı arka planda kopmadan çalışıyor.
webview ile foregorund web service nin güncel google chrome ye bağlı kopma sorununu cözemedim.
Webview kodlamasında google chrome nin etkilemeyecegi bir webview kodlamasi varmidir acaba. Cunku bu google chrome guncel iken baglanti kopma sorunu yasiyor foreground service. Chromeyi guncellemeyi kaldirirsam veya devredışı birakirsam sorunsuz arka planda baglanti kopmadan calisiyor.
Baglanti kopmasi yasayan hedef url deki oyundaki nick rumuz baglantisi kesiliyor.. google chrome devredisiyken veya chrome guncellemesini kaldirirsam kopmuyor.
Bu sorunu nasil cozebilirim.
verdiğiniz dosyaları indirdim emeğinize sağlık yorumlarda arkadaşlara bazı kodları paylaşmışsınız bu kodları anasayda.java’yamı ekliyoruz eğer öyleyse hangi satıra eklediğimizin önemi var mı?
bir web site içerisinde bulunan _blank ayrı sekmeleri nasıl devre dışı bırakabiliriz? Veya aynı webview içinde nasıl çalıştırabiliriz?
Öncelikle harkia anlatmisnin.WebView ekledik pekiya degiştirmek istediğimiz yerler için JavaScript nasil ekliyeceğiz.yada Ujs nasil içine enjekte edicez.Bilgilendirseniz çok sevinirim. [email protected] dan bana ulaşabilrsiniz.
Sorunsuz bir şekilde web sitemiz uygulamaya dönüştürdüm teşekkürler mobilhanem
Merhaba, öncelikle paylaşım için teşekkürler.
Bu kaynak kodunu kullanıp ve biraz araştırma yaparak bir webview oluşturabildim.
Çözemediğim ve konu hakkında nasıl araştırma yapacağımı bilemediğim için sizden yardım istiyorum.
Webview’i sohbet sitesinde kullanıyorum ve alt kısıma admob ekledim. Buraya kadar her şey normal ve sorun yok. Ama yazı yazma alanı admob ile yakın olduğu ve yanlışlıkla tıklanma olasılığı yüksek olduğu için şuan reklam gösterimlerim kısıtlandı.
Webview ve admob arasında bir kaç boşluk bırakmak istiyorum hatta o boşluğa tıklanmayacak başka bir banner’da gelebilir ama yeterli reklam ve yazı alanı arasında boşluk oluşsun.
Kullandığım kodlar aşağıdaki gibidir.
</androidx.constraintlayout.widget.ConstraintLayout