Cara Write Pada Firebase Realtime Database Dengan Android studio
Android studio merupakan salah satu software pengembang aplikasi android terbaik saat ini. Hal itu dikarenakan banyaknya fitur yang didukung oleh google. Pada tutorial sebelumnya sudah dibahas cara menghubungkan android studio dengan firebase. Kali ini akan dibahas cara menambah data pada firebase di Android studio.
Baca juga:
- Cara Menghubungkan Android Studio Dengan Firebase Realtime Database
- Cara Menghapus Data Dari Firebase di Android Studio
Langkah:
1. Pada tutorial sebelumnya, sudah dibahas mengenai rules database. Jika kamu sudah selesai mengaturnya, klik tombol publish.
2. Lalu lanjut pada langkah selanjutnya, yaitu write to your database.
3. Kali ini kamu akan membuat form input, dimana user akan memasukkan username dan ketika tombol tambah ditekan, maka username tersebut akan masuk ke database
Tulis kode berikut
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:orientation="vertical" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.abifirmandhani.inwepo.MainActivity"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Username" android:id="@+id/edit1"/> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Tambah" android:id="@+id/btn1" android:onClick="Click1"/> </LinearLayout>
Pada kode tersebut, button memiliki atribut onclick dengan value Click1. Dimana ketika button tersebut ditekan, maka method Click1 akan dijalankan.
Lalu Edittext memiliki id edit1, dimana id sangat berperan penting dalam pengembangan aplikasi.
4. Lalu pada MainActivity.java, buat method Click1 dimana didalam method ini terdapa fungsi menambah data di database
Tulis kode berikut
public void Click1(View view){ //instansiasi edittext EditText text1 = (EditText) findViewById(R.id.edit1); //instansiasi database firebase FirebaseDatabase database = FirebaseDatabase.getInstance(); //Referensi database yang dituju DatabaseReference myRef = database.getReference("Username"); //memberi nilai pada referensi yang dituju myRef.setValue(text1.getText().toString()); }
Fungsi dari database reference adalah data yang akan kita akses di database, contoh pada kode diatas adalah username. Dimana data username akan diberikan value sesuai dengan inputan user
5. Jalankan aplikasinya dengan cara Klik ikon play pada toolbar Android studio, dan pilih platform untuk uji coba.
6. Aplikasi berhasil dijalankan, lalu akan dicoba menambah username cupacup.
7. Karena data username belum ada pada database sebelumya, maka data username ditambah dan diberikan value cupcacup.
8. Lalu dicoba lagi menambah username inwepo.
9. karena data username sudah ada sebelumya, maka firebase hanya update data username menjadi inwepo.
10. Sekarang akan dicoba menambahkan 3 data sekaligus kedalam database. Disini akan dicoba membuat 3 inputan, yaitu username, nama, dan no handphone.
Tulis kode berikut.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:orientation="vertical" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.abifirmandhani.inwepo.MainActivity"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Username" android:id="@+id/edit1"/> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Name" android:id="@+id/edit2"/> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="NoHp" android:id="@+id/edit3"/> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Tambah" android:id="@+id/btn1" android:onClick="Click1"/> </LinearLayout>
 11. Lalu ubah beberapa kode pada method Click1
Tulis kode berikut
public void Click1(View view){ //instansiasi edittext EditText text1 = (EditText) findViewById(R.id.edit1); EditText text2 = (EditText) findViewById(R.id.edit2); EditText text3 = (EditText) findViewById(R.id.edit3); //instansiasi database firebase FirebaseDatabase database = FirebaseDatabase.getInstance(); //Referensi database yang dituju DatabaseReference myRef = database.getReference("User").child(text1.getText().toString()); //memberi nilai pada referensi yang dituju myRef.child("name").setValue(text2.getText().toString()); myRef.child("NoHp").setValue(text3.getText().toString()); }
 Database reference dirubah menjadi child dari user. Dimana child dari user adalah username inputan dari pengguna. Struktur pada firebase berbeda dengan database lain, firebase tidak menggunakan SQL atau noSQL. Firebase sifatnya seperti parent dan child.
Lalu child dari user tadi / database reference diberi child name dan nohp dengan nilai sesuai inputan dari pengguna
12. Jalankan aplikasinya kembali. Disini akan dicoba input dengan username cupacup, nama abi, dan noHp 123.
13. Data berhasil ditambah ke database, dimana cupacup merupakan child dari user, noHp dan nama merupakan child dari cupacup.
14. Lalu dicoba input data lagi dengan username wikupedia, nama wiku, dan noHP 321.
15. Sekarang User memiliki 2 child, yaitu cupacup dan wikupedia. Dimana cupacup dan wikupedia memiliki child noHp dan nama juga.
16. Akan dicoba lagi menambah data, namun dengan username yang sama yaitu wikupedia, nama wiku galundra, dan noHP 321.
17. Terlihat pada database tidak menambah data baru, hanya update nama pada user wikupedia.
Hal ini dikarenakan wikupedia yang merupakan username dan child dari user yang merupakan database reference. Jika database reference belum ada sebelumnya, maka akan dibuat data baru, jika sudah ada maka firebase hanya update datanya saja.
Untuk tutorial retrieve data tunggu tutorial selanjutnya. Terima kasih.