Android Programlama 8 -> Firebase Kullanımı
FIREBASE KULLANIMI
Bir kaç hafta önce Firebase in nasıl bir platform olduğundan bahsetmiştik o yazıya ulaşmak için buraya tıklayabilirsiniz.
Bugün ise Firebase projenize nasıl bağlanır nasıl kullanılır ondan bahsedeceğiz. Öncelikle hem firebase hem Android Studio Google'ın ürünleri olduğu için ikisi de kolay bir şekilde birbirine bağlanabiliyor bunun için Android Studio dan tools sekmesine basıp daha sonra firebase seçeneğini seçiyoruz. Oradan Real Time Database seçip connect and retrieve data diyoruz Daha sonra Connect your App to firebase realtime Database seçeneklerini seçip ilerliyoruz. Bu şekilde Database bağlantımız gerçekleşmiş oluyor.
Benim bugün size anlatmak istediğim örnekte bir ürün classı oluşturdum bu classın içerisinde ürünün adı ve miktarı bulunuyor bunlar Database e kayıt olacak bunun için constructor ve getter setter metodlarını ekledim daha sonra Main Activity kısmında butonları editTextleri texviewları ekleyip tanımladıktan sonra asıl Database kullanmak için gerekli olan Database objelerini oluşturdum daha sonra burada kaydet diye bir metot oluşturup bu metodun içerisinde ürün adını ve miktarı tutabilmek için 2 adet nesne oluşturup burada edittextin içeriğini alıp stringe çevirdim daha sonra miktar int olarak tutulduğu için Integer.parseInt(adet.getText( ).toString()) kullanarak çevirdim ve miktarda sakladım daha sonra ürün sınıfından bir obje oluşturdum ve oluşturduğumuz ref nesnesiyle ref.push().setvalue(obj1) ile ekledim. Bu şekilde kaydım gerçekleşti.
public class MainActivity extends AppCompatActivity {
FirebaseDatabase database;
DatabaseReference ref;
EditText isim, adet, aranan;
Button kaydet , ara;
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
database = FirebaseDatabase.getInstance();
ref = database.getReference("urun");
isim =(EditText)findViewById(R.id.editText_urun);
adet =(EditText)findViewById(R.id.editText_adet);
aranan =(EditText)findViewById(R.id.editText_aranan);
kaydet =(Button) findViewById(R.id.button_kaydet);
ara =(Button) findViewById(R.id.button_ara);
textView =(TextView)findViewById(R.id.textView);
kaydet.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
kaydet();
}
});
ara.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
oku();
}
});
}
public void kaydet(){
String urun= isim.getText().toString();
int miktar = Integer.parseInt(adet.getText().toString());
urun obj1 = new urun(urun,miktar);
ref.push().setValue(obj1);
}
Daha sonra bu kayıtları okuyabilmek için bir arama işlemi gerçekleştireceğim bunu da ürün ismi ile yapacağım. Eğer ürün ismi aradığımla aynı ise buradan ürünün adını ve adetini çekeceği ve text view içerisine yazdırmış olacağım.
public void oku(){
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot snapshot : dataSnapshot.getChildren()){
urun u = snapshot.getValue(urun.class);
if(u.getName() == aranan.getText().toString()){
textView.setText(u.getName() + u.getAdet());
}
else
Toast.makeText(MainActivity.this, "BULUNAMADI!!", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
Bu şekilde eş zamanlı database kullanımını özetlemiş ve küçük bir örnek ile uygulamış olduk.
Yorumlar
Yorum Gönder