Firebase Nedir, Nasıl Kullanılır, Cloud Firestore Kullanımı

By | 30 Ocak 2021

Firebase Dersleri serisinin Firebase Nedir, Nasıl Kullanılır ve Cloud Firestore Kullanımı dersine hoş geldiniz.

Firebase Nedir?

Firebase, gerçek zamanlı bir veritabanıdır. 2011 yılında çıkan firebase, 2014 yılında Google tarafından satın alınmasıyla beraber bugüne dek oldukça gelişmiş belli bir konuma kadar ücretsiz olarak hizmet vermektedir. Veritabanı modeli JSON formatındadır yani ağaç yapısına sahiptir.

Nasıl Kullanılır?

Projemiz ile firebase veritabanını nasıl birbirine bağlayabileceğimizi adım adım görelim. Veritabanımıza ufak bir bilgi yazdıralım. Bunun için Cloud Firestore bölümünden faydalanacağız. Bunun dışında ileriki derslerde Authentication ve Storage kısımlarına da değineceğiz.

Cloud Firestore kısmında verilerimizi tutarız.

Adım – 1: Öncelik buradaki bağlantıya giderek hesabınızı oluşturuyorsunuz ve sağ üstten Go to Console’a tıklayarak Konsol ekranına gidin. Orada daha önceden var ise projeleriniz gözükecektir. Yok ise de şimdi beraber oluşturacağız. Aşağıdaki görselde görüldüğü üzere yeni bir proje ekle kısmına tıklayalım.

Adım – 2: Projemize bir isim verelim.

Adım – 3: Bu kısımda bazı analiz işlemleri için onay istenmekte ama bizim burasıyla şimdilik herhangi bir işlemimiz olmadığından onayı vermeyelim ve Projeyi Oluştur diyerek tamamlayalım. Ve projemiz oluşturulacaktır.

Bundan önceki adımlar proje oluşturma işlemleriydi. Şimdi de projemizi mobil uygulamamıza bağlama işlemlerini yapalım.

Adım – 4: Proje oluşturma adımları bittikten sonra kaşımıza aşağıdaki gibi bir ekran çıkacaktır. Burada işaretlediğim yerdeki Android logosuna tıklayalım. Web veya IOS için geliştirme yapıyorsanız diğer seçenekleri kullanacaksınız.

Adım – 5: Burada bizden mobil uygulamamızın paket ismi istenmektedir. Paket adını Manifest dosyası içinde bulabilirsiniz. Uygulama Takma Adı ve SHA1 kısmını doldurmamıza gerek yok şimdilik.

Adım – 6: Şimdiye kadar yapılandırma dosyasını oluşturduk ve artık bunu Mobil projeye yerleştirme zamanı geldi. Bize google-services.json (dosya ismi kesinlikle bu şekilde olmalıdır aksi halde hata alırsınız) isminde bir dosya verdi. Bu dosyayı indirip Project dosya yapısı içerisinde app klasörünün içine atacağız. Zaten aşağıdaki resimde nasıl yapılacağı oklarla ile gösterilmiş.

Adım – 7: Burada Gradle(Project olan) dosyamıza eklememiz gereken birkaç koddan bahsediliyor. Öncelikle aşağıdaki resimde işaretlenen dosyaya gidip işaretli olan satırlar sizin dosyanızda yok ise ekleyin. Bu kısımda genellikle yalnızca 9. Satırdaki

classpath 'com.google.gms:google-services:4.3.5'

kısım eksik olur. Onu da ekleyelim.

Adım – 8: Burada Gradle(Module) dosyamıza eklememiz gereken birkaç kod mevcut. Öncelikle aşağıdaki resimde işaretlenen dosyaya gidip işaretli olan satırları ekleyelim. Doğru yere eklediğinize dikkat edin. Ve son adım olarak da sağ üst taraftaki Sync Now’a tıklayarak projemizi senkronize edelim.

Adım – 9: Aşağıdaki resimdeki gibi son adıma gelerek Konsola Geç diyelim.

Şimdiye kadar Firebase projesini oluşturmayı bunu mobil uygulamamıza nasıl bağlayacağımızı görmüş olduk. Firebase’in en çok kullandığımız 3 bölümü bulunmakta.

CloudFirestore -> Verilerin tutulduğu bölüm
Authentication -> Kullanıcı işlemlerinin yapıldığı bölüm
Storage -> Dosyaların tutulduğu bölüm

Cloud Firestore Kullanımı

Bu dersimizde veritabanımıza ufak bir veri yazdıracağımız için Cloud Firestore kütüphanesini eklememiz gerekecek. Bunu nasıl yapacağımızı da görelim hemen.

Adım – 1: Android Studio içerisinde üst menüden Tools içerisindeki Firebase’e tıklayalım.

Adım – 2: Sağ tarafta açılacak Assistant kısmından Firestore sekmesini bulalım ve oradaki bağlantıya tıklayalım.

Adım – 3: Açılan kısımda gerekli işlemlerin nasıl yapılacağını anlatan basit bir doküman görmüş olacaksınız. Gerekli kütüphanenin eklenmesi için öncelikle aşağıdaki resimde işaretli olan butona tıklayalım ve çıkan ekranda Accept Changes diyerek gerekli değişikliklerin düzenlenmesini bekleyelim.

Adım – 4: Firebase menüsünde Cloud Firestore bölümüne gelerek sağ taraftaki Veritabanı oluştur butonuna tıklayalım ve çıkan ekranda Test Modunu(30 günlük erişim izni verir. İleriki derslerimizde bunu kullanıcı oturumlarına göre ayarlamayı öğreneceğiz) seçelim. Ardından bir ekran daha gelecektir. Verilerinizin hangi bölgedeki sunucuda tutulacağını seçeceksiniz. Bu kısım fark etmez ama eur ile başlayanlardan bir tanesini seçip etkinleştirelim.

Bu işlemlerden sonra tüm verilerimizin kaydedileceği alan açılacaktır.

Artık kod yazar hale geldik…

Şöyle basit bir uygulama yapalım. Butona tıklandığında bizim belirlediğimiz bir bilgiyi kaydedelim.

activity_main.xml dosyası;

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp"
    android:gravity="center"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/btn_veri_gonder"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="gönder"
        android:padding="20dp"/>

</LinearLayout>

MainActivity.java dosyası;

package com.mrcaracal.firebasenasilkullanilirdersi;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.firestore.DocumentReference;
import com.google.firebase.firestore.FirebaseFirestore;

import java.util.HashMap;
import java.util.Map;

public class MainActivity extends AppCompatActivity {

    Button btn_veri_gonder;

    FirebaseFirestore firebaseFirestore;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btn_veri_gonder = findViewById(R.id.btn_veri_gonder);
        firebaseFirestore = FirebaseFirestore.getInstance();

        Map<String, Object> bilgilerNesnesi = new HashMap<>();
        bilgilerNesnesi.put("Isim", "MrCaracal");
        bilgilerNesnesi.put("Adres", "https://mrcaracal.com");
        bilgilerNesnesi.put("Yas", 1.5);

        btn_veri_gonder.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                firebaseFirestore.collection("Ders1Verileri")
                        .add(bilgilerNesnesi)
                        .addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
                            @Override
                            public void onSuccess(DocumentReference documentReference) {
                                Toast.makeText(MainActivity.this, "Verimiz VT'a yazdırıldı", Toast.LENGTH_SHORT).show();
                            }
                        })
                        .addOnFailureListener(new OnFailureListener() {
                            @Override
                            public void onFailure(@NonNull Exception e) {
                                Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
                            }
                        });
            }
        });
    }
}

Verilerimizi yazdırabilmek için FirebaseFirestore sınıfından faydalanıyoruz. Gireceğimiz verileri ise Map nesnesi ile bilgilerNesnesi isimli referansa atadık.

.collection() ile verilerimizin hangi koleksiyon içinde tutulacağını belirttik
.add() ile bilgilerNesnesi’nin içindeki verilerimizi gönderdik.
.addOnSuccessListener() ile işlemin başarılı olması durumunda yapılacakları belirttik.
.addOnFailureListener() ile de işlemin başarısız olması durumunda yapılacakları belirttik.

Uygulamamızı çalıştırıp butona tıklandığında Firebase veritabanının içerisi aşağıdaki gibi değişecektir.

Bir sonraki dersimizde Önemli bir konu olan DocumentReferance ve CollectionReferance’nin kullanımı göreceğiz. Bunlar ile kullanıcıdan veri alarak verileri veri tabanına yazdırmayı ve tekrardan bunlarla verileri çekmeyi öğreneceğiz.

Bir sonraki dersimizde görüşmek üzere.

One thought on “Firebase Nedir, Nasıl Kullanılır, Cloud Firestore Kullanımı

  1. Pingback: Google Firebase Nedir , Ne İşe Yarar ? - Siber Eğitmen

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir