Android ekranlar arası veri taşıma

Bu yazıda android de iki ekran arasında nasıl veri gönderip alındığına örnek bir uygulamayla bakacağız. Uygulamada ilk ekranımızda yer alan EditText nesnesine girdiğimiz bir veriyi "gönder" butonuna basarak ikinci ekrana gönderiyoruz. İkinci ekranda gönderilen veriyi karşılayıp bir TextView nesnesinde gösteriyoruz. 

first_activity.xml 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <EditText
        android:id="@+id/first_activity_edittext"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Gönderilecek yazıyı giriniz" />

    <Button
        android:id="@+id/first_activity_gonder_button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Gönder" />
</LinearLayout>

first_activity.xml dosyasında bir adet EditText ve Button nesneleriyle ekran tasarımını yapıyoruz. 

FirstActivity.java

package com.ahmet.ekranlararasiverigonderme;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class FirstActivity extends AppCompatActivity {

    private EditText gonderilecekYazi;
    private Button gonderButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.first_activity);
        initViews();
        setClicks();
    }
    private void initViews() {
        gonderilecekYazi = (EditText) findViewById(R.id.first_activity_edittext);
        gonderButton = (Button) findViewById(R.id.first_activity_gonder_button);
    }
    private void setClicks() {
        gonderButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                veriGonder();
            }
        });
    }
    private void veriGonder() {
        Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
        intent.putExtra("veri", gonderilecekYazi.getText().toString());
        startActivity(intent);
    }
}

Bu dosyada ise tasarımını yaptığımız xml dosyasını yüklenecek olan java sınıfını yazıyoruz. onCreate metodu uygulamanın çalışmaya başladığı metottur. Böyle küçük bir uygulama için gereksiz olsa bile ben programı, modüler olması için metotlar halinde yazdım. initViews() metoduyla xml tarafındaki nesneleri değişkenlere atıyorum. setClicks() metodu da tıklanabilir nesnelere Click eventlerini atamak için yazılan bir metottur. Gönder butonuna tıklanınca veriGonder() metodu çalışacaktır. Bu metotla EditText nesnesine yazdığımız veri SecondActivity ekranına gönderiliyor. Intent nesnesine yazılan putExtra metodunda ilk parametre "key", ikinci parametre ise "value" olarak tanımlanır. Veri diğer ekranda bu key değeri(veri) vasıtasıyla elde edilebilir.

second_activity.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/second_activity_textview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

 Verileri karşılayacağımız bu ekranda ilk ekrandan gelen veriyi alıp yazacağımız bir TextView nesnesi tanımlıyoruz.

SecondActivity.java

package com.ahmet.ekranlararasiverigonderme;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class SecondActivity extends Activity {

    private TextView textview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        initViews();
        String gelenYazi=getIntent().getExtras().getString("veri");
        setViews(gelenYazi);
    }
    private void initViews() {
        textview= (TextView) findViewById(R.id.second_activity_textview);
    }
    private void setViews(String gelenYazi){
        textview.setText(gelenYazi);
    }
}

Gelen veriyi alıp değerini tutacağımız bir TextView nesnesi tanımladık ve aşağıdaki kod parçasıyla gelen veriyi aldık. 

String gelenYazi=getIntent().getExtras().getString("veri");

gelenYazi değişkeninde tuttuğumuz değeri setViews() metodunda yazdığımız aşağıdaki kod parçasıyla ekranda gösteriyoruz.

textView.setText(gelenYazi);
ETİKETLER
androidintentveri taşımapass dataget data
Öncekİ Yazı

Php de json kullanımı

Sonrakİ Yazı

Android Studio da yazar şablonunu değiştirme

İlgili Yazılar