Henüz yapmadıysanız Firebase'i Android projenize ekleyin.
Veritabanı Oluşturma
Firebase konsolunun Realtime Database bölümüne gidin. Mevcut bir Firebase projesini seçmeniz istenir. Veritabanı oluşturma iş akışını takip edin.
Firebase Güvenlik Kurallarınız için başlangıç modu seçin:
- Test modu
Mobil ve web istemci kitaplıklarını kullanmaya başlamak için uygundur ancak herkesin verilerinizi okumasına ve üzerine yazmasına olanak tanır. Testten sonra Firebase Realtime Database Kurallarını Anlama bölümünü mutlaka inceleyin.
Web, Apple veya Android SDK'sını kullanmaya başlamak için testmode'u seçin.
- Kilitli mod
Mobil istemciler ve web istemcilerinden yapılan tüm okuma ve yazma işlemlerini reddeder. Kimliği doğrulanmış uygulama sunucularınız veritabanınıza erişmeye devam edebilir.
Veritabanı için bir konum seçin.
Veritabanının konumuna bağlı olarak, yeni veritabanının URL'si aşağıdaki biçimlerden birinde olacaktır:
(DATABASE_NAME.firebaseio.com
us-central1
içindeki veritabanları için) (diğer tüm konumlardaki veritabanları için)DATABASE_NAME.REGION.firebasedatabase.app
Done'ı (Bitti) tıklayın.
Realtime Database'i etkinleştirdiğinizde API, Cloud API Manager'da da etkinleştirilir.
Realtime Database SDK'sını uygulamanıza ekleme
Modül (uygulama düzeyinde) Gradle dosyanıza (genellikle<project>/<app-module>/build.gradle.kts
veya <project>/<app-module>/build.gradle
), Android için Realtime Database kitaplığının bağımlılığını ekleyin. Kitaplık sürümü oluşturmayı kontrol etmek için Firebase Android BoM'u kullanmanızı öneririz.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.1.1")) // Add the dependency for the Realtime Database library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-database") }
Firebase Android BoM kullanıldığında uygulamanız Firebase Android kitaplıklarının her zaman uyumlu sürümlerini kullanır.
(Alternatif) Firebase kitaplığı bağımlılıklarını BoM'u kullanmadan ekleyin
Firebase BoM'yi kullanmamayı seçerseniz her Firebase kitaplık sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden fazla Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için tüm sürümlerin uyumlu olmasını sağlamak için BoM kullanmanızı kesinlikle öneririz.
dependencies { // Add the dependency for the Realtime Database library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-database:21.0.0") }
Gerçek Zamanlı Veritabanı Güvenlik Kurallarını Yapılandırma
Realtime Database, verilerinizin nasıl yapılandırılacağını, dizine nasıl eklenmesi gerektiğini ve verilerinizin ne zaman okunup yazılabileceğini tanımlamanıza olanak tanıyan bildirim temelli bir kural dili sağlar.
Veritabanınıza yazma
getInstance()
kullanarak veritabanınızın bir örneğini alın ve yazmak istediğiniz konumu referans alın.
Kotlin+KTX
// Write a message to the database val database = Firebase.database val myRef = database.getReference("message") myRef.setValue("Hello, World!")
Java
// Write a message to the database FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("message"); myRef.setValue("Hello, World!");
Bu şekilde, Java nesneleri dahil çeşitli veri türlerini veritabanına kaydedebilirsiniz. Bir nesneyi kaydettiğinizde, alıcılardan gelen yanıtlar bu konumun alt öğeleri olarak kaydedilir.
Veritabanınızdan okuma
Uygulama verilerinizi gerçek zamanlı olarak güncellemek için az önce oluşturduğunuz referansa bir ValueEventListener
eklemeniz gerekir.
Bu sınıftaki onDataChange()
yöntemi, işleyici eklendiğinde bir kez ve alt öğeler de dahil olmak üzere veriler her değiştiğinde tekrar tetiklenir.
Kotlin+KTX
// Read from the database myRef.addValueEventListener(object : ValueEventListener { override fun onDataChange(dataSnapshot: DataSnapshot) { // This method is called once with the initial value and again // whenever data at this location is updated. val value = dataSnapshot.getValue<String>() Log.d(TAG, "Value is: $value") } override fun onCancelled(error: DatabaseError) { // Failed to read value Log.w(TAG, "Failed to read value.", error.toException()) } })
Java
// Read from the database myRef.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { // This method is called once with the initial value and again // whenever data at this location is updated. String value = dataSnapshot.getValue(String.class); Log.d(TAG, "Value is: " + value); } @Override public void onCancelled(@NonNull DatabaseError error) { // Failed to read value Log.w(TAG, "Failed to read value.", error.toException()); } });
İsteğe bağlı: ProGuard'ı yapılandırma
Uygulamanızda ProGuard ile birlikte Firebase Realtime Database'i kullanırken model nesnelerinizin kod karartma işleminden sonra nasıl serileştirileceğini ve seri durumdan çıkarılacağını dikkate almanız gerekir. Veri okumak ve yazmak için DataSnapshot.getValue(Class)
veya DatabaseReference.setValue(Object)
kullanırsanız proguard-rules.pro
dosyasına kurallar eklemeniz gerekir:
# Add this global rule
-keepattributes Signature
# This rule will properly ProGuard all the model classes in
# the package com.yourcompany.models.
# Modify this rule to fit the structure of your app.
-keepclassmembers class com.yourcompany.models.** {
*;
}
ProGuard ile ilgili sorularınız veya sorunlarınız için yardım almak üzere bir uzmandan yardım almak için Guardsquare Topluluk forumlarını ziyaret edin.
Lansmana Hazırlanın
Uygulamanızı kullanıma sunmadan önce, kullanıma hazır olduğundan emin olmak için lansman kontrol listemizi gözden geçirmenizi öneririz.
Veritabanlarınıza yalnızca uygulamalarınızın erişebildiğinden emin olmak için Uygulama Kontrolü'nü etkinleştirdiğinizden emin olun.
Sonraki adımlar
- Realtime Database için verileri yapılandırma hakkında bilgi edinin
- Birden çok veritabanı örneğinde verilerinizi ölçeklendirin.
- Veri okuma ve yazma.
- Firebase konsolunda veritabanınızı görüntüleyin.