Android Programlama -10

Merhaba arkadaşlar bu gün ki makalemde activity’ler arası geçişte, iki activity arasında parametre gönderilip alınmasına değineceğiz.

Bir önceki makalemde activity’ ler arası geçişden bahsetmiştim. Bu makalemizde onun üstünden gideceğimiz için, okumadıysanız öncelikle onu okumanızı tavsiye ederim. Buradan okuyabilirsiniz.

 

 

login.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        if (kullanici_adi.getText()=="kubrahebes" && sifre.getText()=="12345") {
            Intent yeni_sayfa =new Intent(MainActivity.this, Anasayfa.Activity);
            yeni_sayfa.putExtra("isim", "kubraa");
            startactivity(yeni_sayfa);
        }
        else {
            mesaj.setText("Başarısız Giriş !!!");
        }
    }
});


Kodu bir önceki makale de detaylı olara incelediğimiz için bu gün sadece onclick özelliğinin içinde ki kodları paylaşıyorum.

Onclick methodunun içinde yine kullanıcı adı ve şifre kontrolünü yapıp sonucuna göre farklı senaryolar üretip kodluyoruz.

 

 

Kullanıcı adı ve şifresi dogru ise yeni sayfaya intent methodu ile geçiyordu bunu bir önceki derste görmüştük. Şimdi bu sayfa geçişinde diğer sayfaya nasıl parametre gönderile değineceğiz.

Diğer sayfaya göndermek istediğimiz değeri oluşturduğumuz intent değişkeni üzerinden gönderiyoruz. Bunu da putExtra methodu sayesinde yapabiliyoruz. putExtra methodu key value şeklinde çalışır.

Şöyleki bu methoda verdiğimiz ilk parametre key, ikinci parametre ise value değerini oluşturur. Key değeri bizim için çok önemlidir. Çünkü gönderdiğimiz değeri diğer sayfada key değeri üzerinden alacağız.

Mevcut sayfa üzerinde sadece bu bir satırlık kodu yazmamız yeterli olacaktır. Birde yeni gidilecek olan sayfa üzerinde de kod yazmamız gerekmektedir. Ona aşağıdaki gibidir;

 

 

 

package com.example.mac.makale;

import android.content.Intent;
import android.os.Bundle;

public class YeniSayfaActivity extends AppCompatActivity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_yeni_sayfa);

        Intent intent = getIntent();
        final String ad = intent.getStringExtra("isim");

         Toast.makeText(this, ad, Toast.LENGTH_SHORT).show();



    }

Bu sayfada da öncelikle kütüphanelerimizi import ediyoruz. Sonra classımıza isim verip Activity class’ ından extend ediyoruz. Daha sonra oncreate  methodunun içine kodlarımızı yazmaya başlıyoruz.

Diğer sayfadan gelen değeri yine intent classı üzerinden alıyoruz. Bu yüzden intent classından bir nesne oluşturuyoruz.

 

 

Diğer sayfadan alacağımız değer string türünde bir değer olduğu için, string türünde bir değişken tanımlıyoruz. intent classının getStringExtra methodu sayesinde diğer sayfadan gelen değeri yakalayıp oluşturduğumuz değişkene atıyoruz.

Tabi doğru değeri yakalayabilmek için bu methodu kullanırken key değerini de belirtmek zorundayız. Yoksa program derleme esnasında hangi değeri alacağını bilemez ve hata alır.

Son olarak diğer sayfadan gelen değeri Toast mesajı ile ekranda gösteriyoruz. Toast mesajı ile bir nevi geçiş işleminin doğru olup olmadığını kontrol ediyoruz.

 

Bir makalenin daha sonuna geldik, esenle kalın..

 

About Kübra Hebeş

Bilgisayar Mühendisi

Leave a Reply

Your email address will not be published. Required fields are marked *