Android : Structuring and Delivering Data Using Firebase

Halo, Kali ini saya akan memcoba mengimplementasikan fitur baru dari Google yaitu FIREBASE. Apa itu firebase? Firebase adalah penyedia layanan cloud dengan backend sebagai servis yang berbasis di San Fransisco, California. Perusahaan ini membuat sejumlah produk untuk pengembangan aplikasi mobile ataupun web. Firebase di dirikan oleh Andrew Lee dan James Tamplin pada tahun 2011 dan diluncurkan dengan cloud database secara realtime di tahun 2012. Produk utama dari Firebase yakni suatu database yang menyediakan API untuk memungkinkan pengembang menyimpan dan mensinkronisasi data lewat multiple client. Perusahaan ini diakusisi oleh Google pada Oktober 2014. (https://idevangelist.com/informasi/)  

Nah sekarang kita lanjut membuat applikasi untuk mengirimkan data ke cloud databasenya  Firebase. hal pertama yang harus dilakukan adalah

  1. Membuat akun firebase tentunya, bisa akses di https://firebase.google.com/ dan kemudian registrasi terlebih dahulu.
  2. Jika sudah Registreasi kita langsung membuat project di https://console.firebase.google.com/ .New Project.png
  3. Okey, setelah itu beri naka dan Negara.New Project.png
  4. kemudian pilih “Tambahkan Firebase ke aplikasi Android Anda”.Tambahkan Firebase ke aplikasi Android Anda
  5. Kemudian daftarkan package name dari projek android kita dalam tutorial ini saya menggunakan nama paket “nekadlabs.chatmessage”.daftar package
  6. Ikui langkah selanjutnya sampai finish.
  7. Dan untuk selanjutnya kita create new project di Android Studio dan jangan lupa beri nama package namenya “nekadlabs.chatmessage”.
  8. Jika sudah berhasil create project, kemudian kita aktifkan fitur Firebase pada Android Studio dengan cara sebagai berikut,.
    1. File
    2. Project Structure
    3. kemudian select menu Cloud -> checklist Firebase. yang menandakan kalau kita mengaktifkan fitur firebase pada project ini. kemudian OK.daftar package.png
    4. ketika click ok secara otomatis repository pada gradle akan terupdate, dan manifest juga akan mengaktifkan permission Internet.
  9. Pada activity__main.xml ketikan sintak sebagai berikut.
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="chatmessage.nekadlabs.chatmessage.MainActivity">
    
    
    
        <LinearLayout
            android:layout_alignParentBottom="true"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
    
            <EditText
                android:layout_width="259dp"
                android:layout_height="wrap_content"
                android:id="@+id/textInput"/>
    
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/sendButton"
                android:text="Send"/>
    
        </LinearLayout>
    </RelativeLayout>
  10. kemudian buat Class model dengan nama ChatMessage dan ketikkan sintak sebagai berikut.
    package nekadlabs.chatmessage;
    
    /**
     * Created by Nekadlabs on 5/19/2016.
     */
    public class ChatMessage {
    
        private String author;
        private String message;
        
        public ChatMessage() {
        }
    
        public ChatMessage(String author, String message) {
            this.author = author;
            this.message = message;
        }
    
        public String getAuthor() {
            return author;
        }
    
        public void setAuthor(String author) {
            this.author = author;
        }
    
        public String getMessage() {
            return message;
        }
    
        public void setMessage(String message) {
            this.message = message;
        }
    }
  11. dan pada MainActivity.class sintaksnya sebagai berikut
    package nekadlabs.chatmessage;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.KeyEvent;
    import android.view.View;
    import android.view.inputmethod.EditorInfo;
    import android.widget.EditText;
    import android.widget.TextView;
    
    import com.firebase.client.Firebase;
    
    import java.util.Random;
    
    public class MainActivity extends AppCompatActivity {
        private static final String FIREBASE_URL = "https://project-4291869323989811987.firebaseio.com/chartmessage";
        private Firebase firebaseRef;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Firebase.setAndroidContext(this);
            firebaseRef = new Firebase(FIREBASE_URL);
    
            EditText inputText = (EditText) findViewById(R.id.textInput);
            inputText.setOnEditorActionListener(new TextView.OnEditorActionListener(){
    
                @Override
                public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                    if (actionId == EditorInfo.IME_ACTION_SEND){
                        sendMessage();
                    }
                    return true;
                }
            });
    
            findViewById(R.id.sendButton).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    sendMessage();
                }
            });
        }
    
        public void sendMessage(){
            EditText textInput = (EditText) findViewById(R.id.textInput);
            String message = textInput.getText().toString();
            if (!message.equals("")){
                Random rand = new Random();
                String author = "TestUser" + rand.nextInt(1000);
                ChatMessage cMessage = new ChatMessage(author, message);
                firebaseRef.push().setValue(cMessage);
                textInput.setText("");
            }
        }
    }
  12. jangan lupa mengimport google-services.jsondaftar package.png
  13. dan di copy kedalam project app kita.daftar package.png
  14. setelah itu coba lah run project anda dan lihat hasilnya didaftar package.png
  15. jangan lupa di tab Rule (Aturan) ubah sintaks jadi seperti ini.
    {
    “rules”: {
    “.read”: “true”,
    “.write”: “true”
    }
    }
  16. dan selamat! anda sudah berhasil membuat applikasi sederhana. dan pada artikel selanjutnya saya akan melanjutkan aplikasi ini untuk menjadi sebuah applikasi chatting yang realtime. 😀

 

download project di github saya.

Leave a comment