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 projesi seçmeniz istenir. Veritabanı oluşturma iş akışını uygulayın.
Firebase Security Rules için bir 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 izin verir. Testten sonra Firebase Realtime Database Kurallarını Anlama bölümünü incelemeyi unutmayın.
Web, Apple veya Android SDK'sını kullanmaya başlamak için testmode'u seçin.
- Kilitli mod
Mobil ve web istemcilerinden gelen 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 olur:
(DATABASE_NAME.firebaseio.com
us-central1
içindeki veritabanları için) (diğer tüm konumlardaki veritabanları için)DATABASE_NAME.REGION.firebasedatabase.app
Bitti'yi tıklayın.
Realtime Database'yı etkinleştirdiğinizde Cloud API Yöneticisi'nde de API etkinleştirilir.
Uygulamanıza Realtime Database SDK'sını ekleyin.
Modülünüzün (uygulama düzeyinde) Gradle dosyasında (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
kullanmanızı öneririz.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.0.0")) // 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 daima uyumlu sürümlerini kullanır.
(Alternatif) Firebase kitaplığı bağımlılıklarını BoM kullanmadan ekleyin.
Firebase BoM kullanmamayı tercih ederseniz 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 BoM kullanmanızı önemle tavsiye ederiz. Bu sayede tüm sürümlerin uyumlu olması sağlanır.
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:22.0.0") }
Realtime Database Security Rules ürününü yapılandır
Realtime Database, verilerinizin nasıl yapılandırılması, nasıl dizine eklenmesi ve verilerinizin ne zaman okunup yazılabileceğini tanımlamanıza olanak tanıyan bildirimsel bir kural dili sağlar.
Veritabanınıza yazma
getInstance()
kullanarak veritabanınızın bir örneğini alın ve yazmak istediğiniz konuma referans verin.
Kotlin
// 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 de dahil olmak üzere çeşitli veri türlerini veritabanına kaydedebilirsiniz. Bir nesneyi kaydettiğinizde, tüm alıcıların yanıtları bu konumun alt öğeleri olarak kaydedilir.
Veritabanınızdan okuma
Uygulama verilerinizin gerçek zamanlı olarak güncellenmesini sağlamak için yeni oluşturduğunuz referansa
ValueEventListener
eklemeniz gerekir.
Bu sınıftaki onDataChange()
yöntemi, dinleyici eklendiğinde bir kez, veriler her değiştiğinde (alt öğeler dahil) ise tekrar tetiklenir.
Kotlin
// 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ırın
Uygulamanızda ProGuard ile birlikte Firebase Realtime Database kullanırken model nesnelerinizin karartma işleminden sonra nasıl serileştirileceğini ve seri durumdan çıkarılacağını göz önünde bulundurmanız gerekir. Verileri okumak ve yazmak için DataSnapshot.getValue(Class)
veya DatabaseReference.setValue(Object)
kullanıyorsanı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 Guardsquare Topluluğu forumlarını ziyaret ederek bir uzmandan yardım alabilirsiniz.
Lansmana hazırlanma
Uygulamanızı kullanıma sunmadan önce, uygulamanızın hazır olduğundan emin olmak için yayın öncesi yapılacaklar listemizi incelemenizi öneririz.
Yalnızca uygulamalarınızın veritabanlarınıza erişebilmesini sağlamak için App Check seçeneğini etkinleştirdiğinizden emin olun.