Firebase Realtime Database
Membuat proyek baru di
Android Studio dari File ⇒ New Project dan mengisi rincian proyek.
Apk name GaleriHewan
Min SDK API 14 ⇒ Empty Activity ⇒ Finish
Buka Firebase Console di web browser https://console.firebase.google.com
Lalu buat proyek baru pada firebase ⇒ pada Firebase ⇒ Project
name “GaleriHewan” ⇒ country region “Indonesia” ⇒ Buat
project
Add Firebase ⇒ Package name “com.example.user.galerihewan”
tambahkan aplikasi
Lalu download google services JSON
Tambahkan pada folder app di Android Studio dengan mengubah
Android menjadi Project
Tambahkan Classpath pada grade project ⇒ copy compile ke gradle project
classpath 'com.google.gms:google-services:3.0.0'
Tambahkan Compile pada gradle app ⇒ copy
compile ke gradle app disini saya menggunakan versi 10.2.0
compile 'com.google.firebase:firebase-core:10.2.0'
compile 'com.google.firebase:firebase-database:10.2.0'
compile 'com.google.firebase:firebase-database:10.2.0'
Lihat versi firebase yang telah terinstal pada PC dengan
mencari Android/sdk/extras/google/m2repository/com/google/firebase/firebase-core.
Lalu copy pada gradle app
apply plugin: 'com.google.gms.google-services'
Sync Now
Lalu Edit XML Seperti pada gambar di bawah
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.syahr.galeryhewan.MainActivity"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/name"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Simpan" android:onClick="SimpanData"/> <ListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/myList"/> </LinearLayout>
Tambahkan pada Tambahkan Class Hewan.Java
public class Hewan { public String nama; public Hewan(){ } public Hewan(String nama) { this.nama = nama; } public void setNama(String nama){ this.nama = nama; } }
Tambahkan HewanAdapter.Java
public class HewanAdapter extends ArrayAdapter<Hewan> { ArrayList<String> idkey = new ArrayList<>(); public HewanAdapter(Context context,DatabaseReference mDatabase) { super(context, 0, new ArrayList<Hewan>()); ChildEventListener childEventListener = new ChildEventListener() { @Override public void onChildAdded(DataSnapshot dataSnapshot, String s) { idkey.add(dataSnapshot.getKey()); add(dataSnapshot.getValue(Hewan.class)); notifyDataSetChanged(); } @Override public void onChildChanged(DataSnapshot dataSnapshot, String s) { getItem(idkey.indexOf(dataSnapshot.getKey())).setNama(dataSnapshot.getValue(Hewan.class).nama); notifyDataSetChanged(); } @Override public void onChildRemoved(DataSnapshot dataSnapshot) { remove(getItem(idkey.indexOf(dataSnapshot.getKey()))); notifyDataSetChanged(); } @Override public void onChildMoved(DataSnapshot dataSnapshot, String s) { } @Override public void onCancelled(DatabaseError databaseError) { } }; mDatabase.addChildEventListener(childEventListener); } @NonNull @Override public View getView(int position, View convertView,ViewGroup parent) { if(convertView==null){ convertView = LayoutInflater.from(getContext()).inflate(android.R.layout.simple_list_item_1,parent,false); } Hewan hewan = getItem(position); TextView nama = (TextView)convertView; nama.setText(hewan.getNama()); return convertView; } public ArrayList<String> getIdkey() { return idkey; } }
Tata letak
di atas menghasilkan sesuatu layar seperti ini.
Mohon maaf code masih belum sempurna
Semoga bermanfaat
Terima Kasih
Comments
Post a Comment