Skip to content

Latest commit

 

History

History
178 lines (111 loc) · 6.87 KB

Veritabanı İşlemleri.md

File metadata and controls

178 lines (111 loc) · 6.87 KB


SoftwareDeveloperArchive
Veritabanı İşlemleri

İçindekiler

  1. ☁️ Bulut Bilişim (Cloud)

    1. Firebase

      • Giriş
      • Firebase Bağlantısı
      • Authentication İşlemleri
  2. Yerel (Local) Veritabanı

    1. SQLite
  3. Kaynakça 🗃️

Bulut Bilişim (Cloud) ☁️

Firebase

📌 Firebase; mobil ve web uygulamaları oluşturmak için geliştirilmiş ve cloud hizmetleri sunan bir platformdur.

📌 Cloud Firestore; istemci/sunucu(client server) tarafı geliştirme için verileri depolamak ve eşitlemek için bulutta barındırılan bir NoSQL veritabanıdır. Verilerinizi koleksiyonlar halinde düzenlenmiş belgelerde saklar.

Cloud Firestore'un NoSQL veri modelini izleyerek verileri, değerlerle eşlenen alanlar içeren belgelerde depolarsınız. Bu belgeler, verilerinizi düzenlemek ve sorgular oluşturmak için kullanabileceğiniz belgeleriniz için kapsayıcı olan koleksiyonlarda depolanır.Belgeler, basit dizeler ve sayılardan karmaşık, iç içe nesnelere kadar birçok farklı veri türünü destekler. Ayrıca belgeler içinde alt koleksiyonlar oluşturabilir ve veritabanınız büyüdükçe ölçeklenen hiyerarşik veri yapıları oluşturabilirsiniz.


Firebase Bağlantısı

Oluşturduğunuz android projesinin firebase entegrasyonu için:

Bu kısmı kendi projelerimde nasıl yaptığımı incelemek isterseniz Photo Sharing with Firebase🎬 projesinin youtube videosuna bakabilirsiniz.

  1. Firebase sayfasından yeni bir proje oluşturun.

  2. Oluşturduğunuz proje içerisinden android uygulamasını seçin

  3. Firebase dokümantasyonunu takip edin.

    1. Projenin packages ismini girin
    2. İsteğe bağlı olarak:

    • 🔖 Nickname: 📍 build.gradle(app) kısmından applicationId


    • 🔖 Singing Sertificate SHA-1: 📍 Grandle/android/singingreport


‼️ Karşılaşabileceğiniz Durumlar ‼️

  1. 🚨 Gradle kısmı built edilmiyorsa 📍 File->Sync Projects with Gradle files seçeneğine tıklayın


  1. 🚨 build.gradle içerisine allprojects eklemenize izin vermiyorsa 📍 settings.gradle içerisindeki repositoriesMode ayarının repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) şeklinde ayarlayın.

Firebase Authentication işlemleri

📌Kullanılacak referans değer sınıf içerisinde tanımlandı

    // global değişken tanımlandı

    private lateinit var auth:FirebaseAuth

    // Aktivite'nin onCreate() fonksiyonu içerisinde auth'a değer atandı

    auth = FirebaseAuth.getInstance()

📌 Login işlemi:

    fun login(view:View){

        val email = EmailText.text.toString()
        val password = PasswordText.text.toString()

        auth.signInWithEmailAndPassword(email,password).addOnCompleteListener { task->
            if(task.isSuccessful){

                val user = auth.currentUser?.email.toString()

                Toast.makeText(this,"Welcome: ${user}",Toast.LENGTH_LONG).show()

                val intent =Intent(this,FeedActivity::class.java)
                startActivity(intent)
                finish()
            }
        }.addOnFailureListener{exception->
            Toast.makeText(applicationContext,exception.localizedMessage,Toast.LENGTH_LONG).show()
        }

    }

📌 Kayıt olma işlemi yapıldı:

    fun register(view: View){

        val email = EmailText.text.toString()
        val password = PasswordText.text.toString()

        auth.createUserWithEmailAndPassword(email,password).addOnCompleteListener { task->
            if(task.isSuccessful){
                val intent = Intent(this,FeedActivity::class.java)
                startActivity(intent)
                finish()
            }
        }.addOnFailureListener{exception->
            Toast.makeText(applicationContext,exception.localizedMessage,Toast.LENGTH_LONG).show()
        }

     }

📌 Güncel kullanıcı bilgilerinin hatırlanması için aktivitenin onCreate() fonksiyonu içerisine aşağıdaki kod bloğu eklendi:

        val user = auth.currentUser
        if(user!=null){
            val intent =Intent(this,FeedActivity::class.java)
            startActivity(intent)
            finish()
        }

📌 Çıkış Yapma

  auth.signOut()

Yerel (Local) Veritabanı

Kaynakça 🗃️

  1. Kotlin İle Android Mobil Uygulama Geliştirme İleri Seviye, Atıl Samancıoğlu
  2. Developer Guides | Android Developers
  3. Firebase docs

İletişim 📞

📧 softwaredeveloperarchive@gmail.com

📱 @softwaredeveloperarchive