Android Intent İle Sayfalara Veri Gönderme JAVA

Android Intent Methodu sayfalar arası veri aktarımı







İlk olarak 2 tane activity ekran oluşturuyoruz bunlara "activityone ve activitytwo" diyebiliriz.

ilk ekranımız olan activityone şu kodları yazıyoruz.
Değişkenine atadığımız veriyi ikinci sayfa da alabilmek için “send_string” adında bir parametreyi kendimiz belirledik bu yüzden oraya her hangi bir isim yazabiliriz.
Daha sonradan da intent fonksiyonun düzgün bir şekilde çalışabilmesi için startActivity ile başlattık.

String yaz = "Deneme";
Intent i = new Intent(getApplicationContext(), NewActivity.class);
i.putExtra("send_string",yaz);
startActivity(i); 

Daha sonra ikinci ekranımız olan activitytwo ekranımıza şu kodları yazıyoruz.
Gönderdiğimiz veriyi karşılayabilmemiz için ilk sayfadaki değişken adı ile buradaki değişken aynı olmalıdır.
Aşağıdaki kod parçasında görüldüğü gibi Bundle fonksiyonunu da kullanarak veriyi başarılı bir şekilde almış oluruz.
Bundle extras = getIntent().getExtras();
String value = extras.getString("send_string");

Örnek Uygulama
//İlk önce bir tane Edit Text ve Button oluşturuyoruz.Daha sonra button click özelliğini yazıyoruz ve EditText yazdığımız bilgileri çekip ikinci ekrana gönderiyoruz.  Sonra ikinci ekranımızdan veriyi çekiyoruz.

final EditText d=(EditText)findViewById(R.id.NameText);
Button        next=(Button)findViewById(R.id.NextButton);

next.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {

                String cek=d.getText().toString();

                Intent i = new Intent(getApplicationContext(), TwoActivity.class);
                i.putExtra("send_string",cek);
                startActivity(i);
            }

        });


//İkinci ekran kodu(ikici oluşturduğumuz activity). Yine ikinci ekranımzda da bir tane EditText oluşturup çektiğimiz veriyi içine yazıyoruz.

final EditText bas=(EditText)findViewById(R.id.Text4);

        Bundle extras = getIntent().getExtras();
        String value = extras.getString("send_string");

        bas.setText(String.valueOf(value));



Detay Bilgiler
Activity ler arasında object gönderme
Student classından oluşturduğumuz std objesini yine string parametresini gönderdiğimiz şekilde gönderdik.

Student std = new Student(name,surname);
Intent i = new Intent(getApplicationContext(),NewActivity.class);
i.putExtra("sampleObject", std);
startActivity(i);

ilk sayfada gönderdiğimiz object yi ikinci sayfa alma şekline bakalım. Yeni bir intent oluşturup getIntent() fonksiyonu yardımı ile Activity i çağıran intenti alıyoruz. Student classı tipinde oluşturduğumuz object yi intent üzerinden getSerializableExtra anahtar nesnesi yardımı ile alıyoruz. Burada dikkat edilmesi gereken gönderdiğimiz class tipi ne ise ona cast etmemiz gerekiyor. Student tipinde olduğu için Student classına cast etmiş olduk gördüğünüz gibi. Böylece object yi başarılı bir şekilde aldık.

Intent i = getIntent();
Student std_second = (Student)i.getSerializableExtra("sampleObject");

NOT: ( Student classını ikinci Activity de alabilmek ve classın içindeki verilere ulaşabilmek için aşağıdaki gibi implements Serializable yapmamız gerekmektedir )

public class Student implements Serializable
{
    public String name;
    public String surname;
}

Related Posts

Android Intent İle Sayfalara Veri Gönderme JAVA
4/ 5
Oleh