Buka konsol

Penginstalan & Penyiapan di Android

Menghubungkan aplikasi ke Firebase

Tambahkan Firebase ke project Android jika Anda belum melakukannya.

Pada file build.gradle level project, pastikan untuk menyertakan repositori Maven Google di bagian buildscript dan allprojects Anda.

Menambahkan Realtime Database ke aplikasi

Tambahkan dependensi untuk Realtime Database ke file build.gradle level aplikasi:

  implementation 'com.google.firebase:firebase-database:19.1.0'

Mengonfigurasi Aturan Realtime Database

Realtime Database menyediakan bahasa aturan deklaratif sehingga Anda dapat menentukan cara data disusun, diindeks, serta kapan data tersebut dapat dibaca dan ditulisi.

Secara default, akses baca dan tulis ke database Anda dibatasi, sehingga hanya pengguna yang terautentikasi yang dapat membaca atau menulis data. Untuk memulai tanpa menyiapkan Autentikasi, Anda dapat mengonfigurasi aturan untuk akses publik. Tindakan ini membuat database terbuka bagi siapa saja, termasuk orang yang tidak menggunakan aplikasi Anda. Oleh karena itu, pastikan kembali untuk membatasi database Anda setelah menyiapkan autentikasi.

Menulis ke database Anda

Ambil instance database menggunakan getInstance() dan rujuk lokasi tempat Anda ingin menulis.

Java

// Write a message to the database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");

myRef.setValue("Hello, World!");

Kotlin

// Write a message to the database
val database = FirebaseDatabase.getInstance()
val myRef = database.getReference("message")

myRef.setValue("Hello, World!")

Anda bisa menyimpan berbagai tipe data ke database dengan cara ini, termasuk objek Java. Ketika Anda menyimpan sebuah objek, respons dari setiap getter akan disimpan sebagai turunan dari lokasi ini.

Membaca dari database Anda

Agar data aplikasi diperbarui secara real-time, Anda harus menambahkan ValueEventListener ke referensi yang baru saja dibuat.

Metode onDataChange() di class ini dipicu 1 kali saat listener ditambahkan dan dipicu lagi setiap kali terjadi perubahan data, termasuk turunannya.

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

// 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::class.java)
        Log.d(TAG, "Value is: $value")
    }

    override fun onCancelled(error: DatabaseError) {
        // Failed to read value
        Log.w(TAG, "Failed to read value.", error.toException())
    }
})

Opsional: Mengonfigurasi ProGuard

Ketika menggunakan Firebase Realtime Database di aplikasi Anda bersama dengan ProGuard, Anda perlu mempertimbangkan bagaimana objek model akan dipecah dan disatukan setelah obfuscation dilakukan. Jika menggunakan <DataSnapshot.getValue(Class) atau DatabaseReference.setValue(Object) untuk membaca dan menulis data, Anda perlu menambahkan aturan ke file proguard-rules.pro:

    # Add this global rule
    -keepattributes Signature

    # This rule will properly ProGuard all the model classes in
    # the package com.yourcompany.models. Modify to fit the structure
    # of your app.
    -keepclassmembers class com.yourcompany.models.** {
      *;
    }

Persiapan untuk Peluncuran

Sebelum meluncurkan aplikasi, sebaiknya Anda membaca checklist peluncuran untuk memastikan aplikasi siap diluncurkan.

Langkah Berikutnya