Kayıt Ol

Giriş

Şifremi Kaybettim

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Giriş

Kayıt Ol

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi adipiscing gravdio, sit amet suscipit risus ultrices eu. Fusce viverra neque at purus laoreet consequa. Vivamus vulputate posuere nisl quis consequat.

Yazar Hakkında

iOS & Android & Apple Watch Developer, Mobilhanem.com yazarı, Karadeniz Uşağu, Ordu Sevdalısı, Anti Fenerbahçeli, Koyu Galatasaraylı
  • Ecem

    Ö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.

      • Ecem

        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ı webdeki databasede mi tutacaksın?

          • ecem

            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.

          • Ecem

            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.

          • Ecem

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

          • Önemli değil:)
            Kolay Gelsin..

  • Sefa Doğan

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

    • Burdaki kontrol static oluyor.Databaseden kontrol yapmıyoruz.
      if($mail==”tahakirca@mobilhanem.com” && $sifre ==”123456″) bu satırdaki kodla kontrolü static olarak gerçekleştiriyoruz.

      • Ama bundan sonraki kayıt dersinide incelersen orda static değil dinamik(databaseden) olarak kontrol gerçekleştiriyoruz.

  • Sefa Doğan

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

    • Uygulamaya giriş yaparken mi hata veriyor?Yoksa açılır açılmaz mı?

      • Sefa Doğan

        Uygulama açıldı Login ekranında giriş butonuna tıklayınca giriş yapılıyor ve hemen ardından çalışmayı durdudu hatası.

        • Şuan çalısıyor “taha@deneme.com” mail adresi ve 123456 şifresi ile deneyebilirsin.

          • GadaBex

            Su anda Aynı Hatayı Yasıyorum Uygulama Acılıyor Login Butonuna Tıkladıgımda Uygulama Durdu Diye Hata Veriyor

          • Bizim servisimize mi bağlısın kendi yazdığın servise mi ?

          • GadaBex

            2 sindede denedim sonuc aynı hatta hotmaili değistirdim yine aynı localhost’da denedim yine aynı << nedenini nasıl ogreniriz

  • Sefa Doğan

    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 ?

    • Burdaki dersimizde database bağlantısı yapmıyoruz. Eğer php dosyasına bakarsan bunu anlayabilirsin.Kullanıcı adı ve şifresini yolluyoruz ve static olarak kontrol ediyoruz. Bu ders iki aşamadan oluşan bir ders .Database bağlantısı yapıp sorgu yapmayı yada yeni kullanıcı eklemeyi istiyorsan bu dersime bakman gerekir.
      http://www.mobilhanem.com/android-login-ekran-yapimi-2-kayit-islemi/

      • Sefa Doğan

        Teşekkürler Gösterdiğiniz İlgi İçin.

  • muhammed

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

    • Projeye dahil etmiceksnz . Linux bir sunucuda ayrı çalıştıracaksınız.

  • H.Hüseyin CİHANGİR

    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.

  • Serdar

    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?

  • egemen

    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?

  • oktay Basmacı

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

  • Serkan SAVAŞ

    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)

  • Emre Yiğit Çeliktaş

    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

    • Takıldığın yeri sorucevap.mobilhanem.com dan sorabilirsin. Yada bu dersteki gibi kodlarını değiştirebilirsin.

      • Emre Yiğit Çeliktaş

        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?

        • Emre Yiğit Çeliktaş

          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.

          • Emre Yiğit Çeliktaş

            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

  • Armağan Taner

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

    • Sunucu olarak bizim sunucuya mı bağlısın kendi sunucuna mı bağlanıyorsun ?

      • Armağan Taner

        localhosta wamp server üzerinden bağlanıyorum.

        • bizim server’a bağlandığında hatasız çalışıyor mu ?

          • Armağan Taner

            Maalesef yine duruyor.

          • 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.

          • Armağan Taner

            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.

          • Armağan Taner

            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.

          • Armağan Taner

            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.

          • Debug hakkında buradan bilgi alabilirsin.
            https://www.mobilhanem.com/android-studio-debug-kullanimi/