Android Login Ekran Yapımı 1 (Php ve Mysql kullanarak)

52 Yorum

  • Öncelikle merhaba , webservice ile login girişi yapacağım fakat bir şeyi anlayamadım.Daha önceden giriş yapıp yapmadığını kontrol etmemiz yeterli mi , yani sharedpreferences ‘e gerek kalmıyor mu ?

    • Burada ben Sqlite database kullanmıştım. Login bilgilerini databasede tutuyor.Burdaki ders üzerinden gideceksen Shared kullanmana gerek kalmıyor. Ama database kullanmak istemezsen burda database kaydettiğim verileri sharedpreferences’a kaydederek tutabilirsin.Onunla ilgilide dersim mevcuttu.

      • Cevabınız için teşekkür ederim , web service ile kullanıcı adı ve şifrelerini çekmeyi düşünüyorum. Sadece daha önce girilip girilmediğini kontrol etmem yeterli sanırım buradaki şekilde..

          • Kullanıcıları web service’ten çekeceğim. Tekrar sharedpreferences’e gerek kalmayacak sanırım doğru mu anladım? Yani sadece giriş olacak , kayıtlarım zaten web service’te hazır olacak. Sadece giriş yaptıracağım bilgilere göre.Yüksek bir miktarda kullanıcı kaydı oldugunu varsayalım..

          • Şimdi kullanıcı giriş yaptı sonra uygulamayı kapattı diyelim. Birdaha ki açtığında tekrardan login ekranı çıkmasını istiyorsan herhangi bir kayıt yapısı (Sqlite,sharedpref vs..) kullanmana gerek yok. Ama genel olarak uygulamalar birkere login olduktan sonra birdaha login olmanı istemez facebook,twitter,gmail.. İşte yapın böyle olacaksa burda SharedPref yada sqlite kullanman gereklidir.

          • Tekrar giriş ekranının gelmesini istemiyorum , ms-sql ile 10 bin kullanıcı kaydı tutacagım(webservice). Tekrar hatırlamasını istiyorum fakat SharedPref bu kadar kaydı tutuyor mu ?

          • Hayır kullanıcıları mobil cihazlarda tutmucaksın. Uygulamana giriş yaptım. Kullanıcı bilgilerimi doldurdum ve giriş dedim. Sen bu giriş bilgilerini webservice gönderdin ve databasede bulunan kişiler arasında arattın ve login bilgilerinin doğru olduğunu gördün. Geriye true olarak bir değer döndün. Bu değeri sharedPref’e kaydettin ve beni uygulamana giriş yaptırdın(Bu değer uygulama ilk açıldığında boş veya false olarak kayıtlıydı). Ben uygulamadan çıkıp tekrar girdiğimde sen sharedPrefdeki değere bakıcaksın true ise zaten login deyip uygulamaya direk yönlendireceksin. Eğer false ise login ekranına yönlendireceksin.Bunun mantığı zaten örnek kodlardada var.

          • Cevabınız için çok teşekkür ederim , ilginiz ve dersleriniz içinde. 🙂

  • İyi günler,xampp ile bir mysql db oluşturdum fakat sizin kodlamanızda aklıma takılan şeyler var siz adres’i verdiniz db’nin fakat şifre falan gerekmedi bir yazılım ile şifresiz giriliyorsa başkası da programımızı böyle kontrol edemez mi ?

  • İyi günler hocam {: kodlarınızı incelemek için indirdim programa giriş deneyince hata veriyor ve kapanıyor benim programım da aynı şekilde oldu nedeni nedir sizce?

  • Kusura bakmayın çok soru soruyor olabilirim fakat konu biraz düşündürücü
    Biz zaten mysql database’e bağlanmadık mı ?
    yazılımdaki database oluşturuyoruz şuan demeniz’İ anlamadım programın içinde ayrı bir db mi yapıyoruz ?

  • merhaba ben bu php işini anlamadım . notepad++ ta yazdığımız php kodlarını projeye nasıl dahil ediyoruz acaba

  • Merhaba öncelikle ders için teşekkürler çok güzel bir kaynak bir sorun çıkıyor resimdeki gibi doğru yazıyorum ama hatalı gösteriyor nerde hata yapıyorum ?

    • SQLiteHandler class’ın SQLiteOpenHandler classına extend etmeli.

  • hocam merhaba,benim bu şekilde veritabanım var ve kullanıcı kayıt sayfam var.ekleme işlemlerini kullanıcı kayıt.java da yaptım program şuan sorunsuz çalısıyor ama programı her açtığımda kaydol sayfası geliyor ben bunu kaydol sayfasını bir defaya mahsus yapmak istiyorum.sizin bu kodunuz saatlerdir uğraşıp yapmaya çalıştım ama olmadı yardımcı olurmusunuz acaba?

  • Hocam Merhaba ben de yeni katıldım buralara da tam kullanmayı bilmiyorum. Yaklaşık 3 gün önce androide başladım ama hızlı ilerledim sanırım..azıcık tabanım vardı. yalnız bir sorunum var ana uygulamaya başka bir projede yaptığım toolbar ı eklemek istiyorum fakat yapamadım. nasıl yardımcı olabilir siniz?

  • selamın aleyküm hocam ben bu hazır halini indirdimde kullanıcı adını ve şifresini nereden belirliyoruz

  • Güzel bir paylaşım elinize sağlık.

    Örnek kodları indirdim Android studio ile çalıştırdım uygulama hata verip kapandı yine aynı platformda apk haline getirip pc de Memu içine kurdum kapandı telefonuma kurdum yine kapandı.Giriş yaparken sizin taha@deneme.com şifre 123456 yı kullandım. denemek için saçma bir mail ve şifre kullansamda kapanıyor … Android Studyoda debug yaptığımda bir problem gözükmüyor sorunu nasıl çözebilirim.uygulama kapanınca studyoda şu hata veriyor.Login.php yide paylaşırsanız sevinirim

    06-10 20:11:12.967 3894-4211/com.mobilhanem.loginkontrol A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x4200000150 in tid 4211 (AsyncTask #1)

  • Hocam selamlar, benim bir uygulamam var ve bu uygulamaya php mysql kullanarak login – register işlemi yaptırabiliyorum. Benim istediğim şuan beni hatırla özelliği yapmak, kullanıcın her uygulamaya her girdiğinde kullanıcı adı ve şifresini yazmadan girişini sağlamak. Ama login – register olayını başka bir dersten yaptığım için sizin bu derste yaptığınız beni hatırla olayını kendi uygulamama entegre edemedim. Yardımcı olabilir misiniz hocam bu konuda

      • Ben uygulamamda mysql kullandım hostinger’ın ücretsiz hostunu kullandım ama bu derste sqlite göstermişsiniz, biraz kafam karıştı neler ekleyeceğimi anlayamadım, teamviewer ile bağlanıp ilgilenebilir misiniz acaba?

        • Yani benim istediğim şey sadece login olduktan sonra bir daha login ekranı açılmadan kullanıcının ana menüye gitmesi, beni hatırla olayı. Login -register sistemi hazır

          • Bu ders zaten onun için yazıldı. Login bilgisini bir defa girdikten sonra tekrar girilmemesi için. Dersi baştan sonu bir oku , mysql nerde sqlite nerde kullanılmıs zaten anlarsın. Teamviewer yolu ile kimseye yardım etmiyoruz.

          • Anladım hocam tamam, Fonksiyonlar adında bir java classı oluşturmuşsunuz, benim de projemde bunu oluşturmam şart mı? Bu classın ne işe yaradığını pek anlayamadım

  • İyi günler. Bende kendi uygulamam için bu kodları biraz düzenleyip uygulamaya ekledim fakat giriş butonuna tıklandığında uygulama durdu hatası alıyorum. birçok yere try catch yerleştirdim fakat bi sonuç alamadım. Neden olabilir?

          • Ben bu dersi daha 1 hafyta önce güncelledim ve sıkıntısız çalışıyordu. LogCat çıktısını paylaşır mısın crash’in.

          • 12-13 10:31:25.946 8707-8870/com.deneme.deneme E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
            Process: com.deneme.deneme, PID: 8707
            java.lang.RuntimeException: An error occurred while executing doInBackground()
            at android.os.AsyncTask$3.done(AsyncTask.java:309)
            at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
            at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
            at java.util.concurrent.FutureTask.run(FutureTask.java:242)
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
            at java.lang.Thread.run(Thread.java:818)
            Caused by: java.lang.NullPointerException: Attempt to invoke virtual method ‘java.lang.String org.json.JSONObject.getString(java.lang.String)’ on a null object reference
            at com.deneme.deneme.GirisActivity$GirisKontrol.doInBackground(GirisActivity.java:133)
            at com.deneme.deneme.GirisActivity$GirisKontrol.doInBackground(GirisActivity.java:112)
            at android.os.AsyncTask$2.call(AsyncTask.java:295)
            at java.util.concurrent.FutureTask.run(FutureTask.java:237)
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
            at java.lang.Thread.run(Thread.java:818)
            12-13 10:31:26.584 8707-8760/com.deneme.deneme E/Surface: getSlotFromBufferLocked: unknown buffer: 0xae5b9ae0
            12-13 10:31:26.599 8707-8760/com.deneme.deneme D/OpenGLRenderer: endAllStagingAnimators on 0xa298d480 (RippleDrawable) with handle 0xae5929d0
            12-13 10:31:26.640 8707-8707/com.deneme.deneme E/WindowManager: android.view.WindowLeaked: Activity com.deneme.deneme.GirisActivity has leaked window com.android.internal.policy.PhoneWindow$DecorView{fbecf81 V.E…… R……D 0,0-1026,304} that was originally added here
            at android.view.ViewRootImpl.(ViewRootImpl.java:368)
            at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:299)
            at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85)
            at android.app.Dialog.show(Dialog.java:319)
            at com.deneme.deneme.GirisActivity$GirisKontrol.onPreExecute(GirisActivity.java:164)
            at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:604)
            at android.os.AsyncTask.execute(AsyncTask.java:551)
            at com.deneme.deneme.GirisActivity$1.onClick(GirisActivity.java:94)
            at android.view.View.performClick(View.java:5198)
            at android.view.View$PerformClick.run(View.java:21147)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:148)
            at android.app.ActivityThread.main(ActivityThread.java:5417)
            at java.lang.reflect.Method.invoke(Native Method)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
            12-13 10:31:26.655 8707-8760/com.deneme.deneme E/Surface: getSlotFromBufferLocked: unknown buffer: 0xae5b9a70

          • Sen bizim uygulamamız üzerinden mi test ediyorsun yoksa kendi uygulamanı yazıp bu kodlarımı ekledin.Bizim uygulama sorunsuz çalışıyor. Senin uygulamandaki crash sebebine gelince bağlantıda cevap boş geliyor gibi gözüküyor. Sunucu tarafından cevabın kesin geldiğine emin misin? Bunu anlamak için uygulamayı debug modda çalıştırıp satır satır inceleme yaparsan, cevabın gelip gelmediğini anlayabilirsin.

          • Dediğim gibi kendi uygulamama bu kodları düzenleyip ekledim ve sanırım burada bir hata yaptım. ama sadece yaptığım şey mail yerine kullanıcı adını yazmaktı. Bundan kaynaklı olabilir mi ?

          • Sunucu tarafında işlemleri nasıl yaptın bilemem ama hatan zaten şurda yazıor:
            Caused by: java.lang.NullPointerException: Attempt to invoke virtual method ‘java.lang.String org.json.JSONObject.getString(java.lang.String)’ on a null object reference
            Sunucudan gelen cevap null olduğu için crash atıyor.

          • Bana vakit ayırıp sorularımı yanıtladığınız için teşekkür ederim. Debug olarak çalıştırmayı deneyeceğim. Çok teşekkür ederim.

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?