Android | Intentler arası Bundle ile veri aktarma

Written by Super User. Posted in Android Yardımcı Kodlar

Bazen bir activity'den başka bir tanesine veri aktarmaya ihtiyacımız olabilir. Bu nedenle Bundle nesnelerine verimizi ekleyip, diğer aktiviteyi başlatıp, başlatılan bu aktivitede gönderilen verileri yakalayabiliriz. Bu durumu bir örnek üzerinden inceleyelim;

Veri gönderecek kod parçamız:

//Gönderilecek verimizi tanımlıyoruz.
int id = 5;

//İntentimizi tanımlıyoruz
Intent i= new Intent(ContextArgumanınız, IntentleAcacagınızSınıf.class);

//Verimizi yerleştirmek için Bundle'ımızı oluşturuyoruz.
Bundle bundle = new Bundle();

//Bundle'ımıza int değerimizi yerleştiriyoruz. İlk argumanımız anahtar, ikinci argumanımız değer.
bundle.putInt("id", id);

//intentimize bundle'ımızı ekledik.
i.putExtras(bundle);

//intentimizi çalıştırdık.
startActivity(i)

Veri alacak kod parçamız:

//Verimizi alacağımız sınıfta gönderilen Bundle'ın extralarına erişiyoruz.
Bundle extras = getIntent().getExtras();

//Veri gönderecek kod parçamızda tanımladığımız key değerine göre, extras'daki int veriyi çekiyoruz.
int no = extras.getInt("id");

Böylelikle bir sınıfımızdan gönderilen veriyi, öteki sınıfımızdan almış olduk.