Uygulamanızı Firebase'e bağlayın
Henüz yapmadıysanız, Android projenize Firebase'i ekleyin .
Veritabanı Oluştur
Firebase konsolunun Gerçek Zamanlı Veritabanı bölümüne gidin. Mevcut bir Firebase projesini seçmeniz istenecektir. Veritabanı oluşturma iş akışını izleyin.
Firebase Güvenlik Kurallarınız için bir başlangıç modu seçin:
- Test modu
Mobil ve web istemci kitaplıklarını kullanmaya başlamak için iyidir, ancak herkesin verilerinizi okuyup üzerine yazmasına olanak tanır. Testten sonra, Firebase Gerçek Zamanlı Veritabanı Kurallarını Anlama bölümünü incelediğinizden emin olun.
Web, Apple veya Android SDK'yı kullanmaya başlamak için test modunu 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 yine de veritabanınıza erişebilir.
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
veritabanları için)DATABASE_NAME . REGION .firebasedatabase.app
(diğer tüm konumlardaki veritabanları için)
Bitti'yi tıklayın.
Realtime Database'i etkinleştirdiğinizde, API'yi Cloud API Manager'da da etkinleştirir.
Gerçek Zamanlı Veritabanı SDK'sını uygulamanıza ekleyin
Firebase Android BoM kullanarak, modülünüzdeki (app-level) Gradle dosyanızdaki (genellikleapp/build.gradle
) Realtime Database Android kitaplığına olan bağımlılığı bildirin. Java
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.0.2') // Declare 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'u kullanarak uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplık bağımlılıklarını bildirin
Firebase Malzeme Listesini kullanmamayı seçerseniz, her bir 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'yi kullanmanızı şiddetle tavsiye ettiğimizi unutmayın; bu, tüm sürümlerin uyumlu olmasını sağlar.
dependencies { // Declare 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:20.0.5' }
Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.0.2') // Declare 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-ktx' }
Firebase Android BoM'u kullanarak uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplık bağımlılıklarını bildirin
Firebase Malzeme Listesini kullanmamayı seçerseniz, her bir 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'yi kullanmanızı şiddetle tavsiye ettiğimizi unutmayın; bu, tüm sürümlerin uyumlu olmasını sağlar.
dependencies { // Declare 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-ktx:20.0.5' }
Gerçek Zamanlı Veritabanı Kurallarını Yapılandırın
Realtime Database, verilerinizin nasıl yapılandırılması gerektiğini, nasıl indekslenmesi gerektiğini ve verilerinizin ne zaman okunup yazılabileceğini tanımlamanıza izin veren bildirimsel bir kurallar dili sağlar.
Veritabanınıza yazın
getInstance()
kullanarak veritabanınızın bir örneğini alın ve yazmak istediğiniz konuma başvurun.
Java
// Write a message to the database FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("message"); myRef.setValue("Hello, World!");
Kotlin+KTX
// Write a message to the database val database = Firebase.database val myRef = database.getReference("message") myRef.setValue("Hello, World!")
Java nesneleri de dahil olmak üzere bir dizi veri türünü bu şekilde veritabanına kaydedebilirsiniz. Bir nesneyi kaydettiğinizde, herhangi bir alıcıdan gelen yanıtlar bu konumun çocukları olarak kaydedilecektir.
Veritabanınızdan okuyun
Uygulamanızın verilerini gerçek zamanlı olarak güncellemek için az önce oluşturduğunuz referansa bir ValueEventListener
eklemelisiniz.
Bu onDataChange()
yöntemi, dinleyici eklendiğinde bir kez ve çocuklar da dahil olmak üzere veriler her değiştiğinde yeniden tetiklenir.
Java
// Read from the database myRef.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(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(DatabaseError error) { // Failed to read value Log.w(TAG, "Failed to read value.", error.toException()); } });
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()) } })
İsteğe bağlı: ProGuard'ı yapılandırın
Uygulamanızda ProGuard ile birlikte Firebase Gerçek Zamanlı Veritabanını kullanırken, şaşırtma sonrasında model nesnelerinizin nasıl serileştirileceğini ve seri durumdan çıkarılacağını düşünmeniz 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 veya sorunlar için yardım almak için bir uzmandan yardım almak üzere Guardsquare Topluluk forumlarını ziyaret edin.
Lansmana Hazırlanın
Uygulamanızı başlatmadan önce, uygulamanızın kullanıma hazır olduğundan emin olmak için başlatma kontrol listemizi gözden geçirmenizi öneririz!
Yalnızca uygulamalarınızın veritabanlarınıza erişebildiğinden emin olmak için Uygulama Kontrolünü etkinleştirdiğinizden emin olun.
Sonraki adımlar
- Gerçek Zamanlı Veritabanı için verileri nasıl yapılandıracağınızı öğrenin
- Verilerinizi birden çok veritabanı örneğinde ölçeklendirin .
- Verileri okuyun ve yazın .
- Veritabanınızı Firebase konsolunda görüntüleyin .