Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124

Mengembangkan Android App Menggunakan Firebase Real Time Database – Sebelumnya kita sudah memahami instalasi dan konfigurasi firebase, yang ketinggalan dengan bahasan sebelumnya dapat membaca pada bagian 1, kali ini kita akan membahas manipulasi data, jika pada database MYSQL atau SQLite beberapa DBMS yang di berikan untuk memanipulasi data. Dengan menggunakan firebase tidak dibutuhkan SQL yang beraneka ragam seperti INSERT INTO FROM namatable values title=’chromplex’ atau SELECT FROM * namatable.
Sebelum memanipulasi data firebase, terlebih dahulu untuk menginisilisasi firebase yang akan di olah.
Firebase ref = new Firebase("https://namaapp-firebase.firebaseio.com/android");
namaapp di dapat ketika membuat app dan firebaseio.com url akhir yang secara default oleh firebase.
Buat class POJO untuk mendeklarasikan objek apa saja yang akan disimpan.
final Firebase ref = new Firebase("https://namaapp-firebase.firebaseio.com/android");
//Pojo Item
Firebase dataitem = ref.child("data");
Item alan = new Item("Android Kejar", "Android kejar Kejaran main kejar kejaran");
dataitem .setValue(alan);
adapun dapat menyimpan data menggunakan multidata HashMap
Firebase firebase = ref.child("data").child(title);
Map<String, String> data = new HashMap<String, String>();
data.put("title", title);
data.put("content", content);
firebase.setValue(data);
Setelah process atau sebelum process dapat kita hadle menggunakan Class CompletionListener dimana akan mengembalikan process error atau berhasil.
final Firebase ref = new Firebase("https://namaapp-firebase.firebaseio.com/android");
String title = editTitle.getText().toString();
String content = editContent.getText().toString();
//HashMap Structur
Firebase firebase = ref.child("data").child(title);
Map<String, String> data = new HashMap<String, String>();
data.put("title", title);
data.put("content", content);
firebase.setValue(data, new Firebase.CompletionListener() {
@Override
public void onComplete(FirebaseError firebaseError, Firebase firebase) {
if (firebaseError != null) {
Log.e("error", firebaseError.getMessage());
} else {
Toast.makeText(getActivity(), "Save Data Success", Toast.LENGTH_SHORT).show();
dismiss();
}
}
});
Setelah menyimpan data kedalam database firebase, kita akan membaca data tersebut dengan menggunakan addValueEventListener.
Firebase ref = new Firebase("https://necis-firebase.firebaseio.com/android/data");
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
feedItemList.clear();
for (DataSnapshot postSnapshot : snapshot.getChildren()) {
Item post = postSnapshot.getValue(Item.class);
Log.e("title", post.getTitle());
Log.e("Content", post.getContent());
feedItemList.add(post);
}
adapterList.notifyDataSetChanged();
}
@Override
public void onCancelled(FirebaseError firebaseError) {
Log.e("error", firebaseError.getMessage());
}
});
menampilkan data dengan value dan juga dapat mampilkan data dari Child.
ref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Item post = dataSnapshot.getValue(Item.class);
Log.e("title child", post.getTitle());
Log.e("Content child", post.getContent());
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
Dibawah ini ada video yang dapat dilihat secara utuh konfigurasi firebase hingga deploy kedalam project.
Berikut kode sumbernya https://github.com/aerdy/android_firebase_clouddb
Baca Bagian Pertama Mengembangkan Android App Menggunakan Firebase Real Time Database
Kalo membaca 2 data langsung bagaimana?
datanya juga di dalam folder
contoh.firebaseio.com/data/1
contoh.firebaseio.com/data/2
ntar ditampilkan di textview 1 dan textview 2
kalo beda tree root bisa baca berdasarkan end point nya, kalau dalam satu tree root bisa menggunakan index nya.