Menambahkan Collection dan Document Di Firebase Firestore Android

Konsep penyimpanan data Firebase Firestore berbeda dengan konsep penyimpanan MySQL. Jika MySQL menggunakan konsep query (primary key, foreign key, dan lainnya), maka Firebase Firestore tidak seperti itu. Firebase menyimpan data berdasarkan collection dan document.

Bisa dikatakan bahwa collection dan document itu adalah path dari data yang telah disimpan di Firebase Firestore. Penamaan atau pemberian value collection bisa kita berikan sendiri, sedangkan document bisa di generate otomatis oleh Firebase atau bisa juga kita namakan / berikan value sendiri.

Baca juga : Cara Menambahkan Gambar ke Firebase Storage Serta Menampilkan Gambar Tersebut di Android

Syarat dari penamaan / pemberian value document harusnya unique. Artinya value document tersebut harus berbeda dengan value document lainnya meskipun berada dalam satu collection.

Dari gambar diatas terlihat yang pertama kali di tambahkan adalah collection kemudian setelah itu barulah menambahkan data document, begitu seterusnya. Yang perlu diingat adalah aturan dalam penamaan pada collection dan document :

  • Koleksi (collection), data yang ditambahkan didalamnya bebas, tanpa harus unique key.
  • Dokumen (document), data yang ditambahkan harus unique (bisa ditambahkan manual atau bisa digenerated otomatis oleh Firebase)

Biar lebih jelas prosesnya, mari kita buat projectnya dan ikuti setiap langkah pembuatannya

Buat Project di Firebase

Sebelum memulai project di Android Studio, pertama yang harus dilakukan yaitu membuat project di Firebase. Silakan buka di Firebase Console, kalian bisa buat project baru atau menggunakan project yang sudah ada.

Baca juga : Passing Data Menggunakan Checkbox Pada Android

Pilih platform yang diakan digunakan, dalam hal ini pilih Android

Tambahkan nama package dan key SHA-1 ke dalam project Firebase

Download file google-services.json, lalu tempatkan di dalam folder app di project android studio yang kalian buat.

Pengaturan Gradle

Silakan tambahkan dependencies di file gradle project android studio

build.gradle (Project: NamaProject)

build.gradle (Module: app)

Kodingan Java dan XML

Saya disini menggunakan satu button yang akan men-trigger data ke Firebase Firestore. Silakan sesuaikan dengan project kalian

activity_main.xml

Ketika button ditekan, maka proses kirim data ke Firebase Firestore akan dimulai. Pada contoh project ini saya menampilkan dua cara proses insert data yang berbeda, antara lain :

  1. Menambahkan data document secara manual
  2. Menambahkan data document dengan cara men-generate unique key secara otomatis.

1. Menambahkan data document secara manual

Masih ingat kan penjelasan saya diatas, data document itu harus unique? Untuk mengakali agar document nya tetap unique, saya menggunakan proses looping terhadap data yang di tambahkan ke Firebase Firestore. Jadi setiap index yang di looping saya masukan sebagai data document nya. Lihat hasilnya dibawah ini :

Hasil document dengan cara manual

2. Menambahkan data document dengan cara men-generate unique key secara otomatis.

Pada cara yang kedua ini, saya men-generate document nya secara otomatis, jadi hasilnya nanti terdapat beberapa karakter yang acak sebagai data document nya. Kodenya seperti dibawah ini :

Hasilnya seperti gambar berikut :

Hasil document generate otomatis

Jika kalian perhatikan di dua cara diatas, ada method yang berbeda digunakan saat proses insert data ke Firebase Firestore, yaitu :

  • set(), dan
  • add()

Apa bedanya?

Saya akan berikan pejelasan yang seadanya aja ya, biar kalian tau kapan harus menggunakan kedua method tersebut.

Baca juga : Tutorial Menggunakan Database SQLite Pada Android

method set() digunakan ketika kalian menambahkan data document secara manual, sedangkan method add() digunakan saat kalian menambahkan data document secara otomatis (di-generate langsung oleh Firebase).

Penjelasan detailnya seperti ini (dikutip dari jawaban seseorang di stackoverflow) :

When you use set() on a DocumentReference, you’re putting data into a document that you’re already identified by some unique id. (Otherwise, you wouldn’t already have a DocumentReference object!) As it says in the docs, “If the document does not yet exist, it will be created.” If the document already exists, you’re either replacing or merging new data into it.

When you use add() on a CollectionReference, you’re unconditionally creating a new document in a collection, and that new document will have a unique id assigned to it. The data you pass will become the contents of the new document.

Silakan dipahami ya, saya malas translate ke Indonesia haha. Demikianlah beberapa proses yang bisa kalian lakukan untuk bisa menambahkan data ke Firebase Firestore, silakan di improve lagi dengan kasus yang berbeda.



Baca juga :


About The Author

Related Posts

Add Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Berlangganan Artikel

Untuk mendaftarkan tutorial pemrograman terbaru dari putuguna[dot]com, silakan tuliskan email kalian dibawah ini