Brent Aureli‘nin şu adreste yayınlanan videosunu izleyerek oluşturdum. Siz de izleyebilirsiniz.
Kaynak kodlarına ulaşmak için tıklayınız.
build.gradle dosyanızın dependencies bölümüne;
compile 'com.firebase:firebase-client-android:2.5.2+'
kodlarını ekleyiniz.
AndroidManifest.xml dosyanıza
<uses-permission android:name="android.permission.INTERNET" />
kodlarını ekleyerek İnternet izinlerini veriniz.
Activity’imizin kodlarının bulunduğu yere gelerek onCreate metodu içerisine;
Firebase.setAndroidContext(this);
kodlarını ekliyoruz.
Firebase hesabımızın bağlantısını sabit bir değişkene atıyoruz:
private static final String FIREBASE_URL="https://xxx.firebaseio.com/";
daha sonra;
private Firebase firebaseRef;
kodlarıyla Firebase nesnemizi tanımlıyoruz.
Amacımız canlı bir mesaj uygulaması yapmak olduğundan veri modelini oluşturuyoruz.
Mesaj ve Mesajı Yazan Kişinin tanımlandığı bir sınıf oluşturuyoruz.
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 String getMessage() { return message; } }
Activity’imizin kod kısmı son aşamada:
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://luminous-heat-605.firebaseio.com/"; 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.messageText); 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.messageText); 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(""); } } }
bu şekilde olmaktadır.
Firebase paneliminizden veritabanımıza baktığımızda gönderilen mesajları aşağıdaki şekilde görebiliyoruz.
Hayırlı olsun.
Pingback: Android’te Firebase veritabanındaki bilgiyi Spinner’e çekerek nasıl gösterebiliriz? | Ahmet Cevahir ÇINAR