Android Sayfalar Arası Veri Taşıma

Android Sayfalar Arası Veri Taşıma
Bilinmeyen Bilişim Kitabı

Selam gençler. Uzun bir aradan sonra tekrar bir Android dersiyle karşınızdayım. Gerçi söz konusu dersin anlatımı aylarca öncesinden yapıldı fakat kısmet bugüneymiş.

Bir çok kardeşimin bildiği gibi WebTekno ‘da yazarlığa başlamam nedeniyle vakit sıkıntısından dolayı derslere fazla vakit ayarımayacağım. Ayda 1 veya 2 ayda 1 olmak üzere yeni dersler çıkabilir. Bu nedenle Android öğrenmek isteyen kardeşlerimin sadece buradaki dersleri değil başka kaynaklardan da yararlanmalarını tavsiye ederim.

Hızlıca dersimize geçelim …

Bu dersimizde, benim Android öğrenmeye başladığım günlerde en çok merak ettiğim şeye yani bir sayfadan bir diğer sayfaya nasıl veri taşıyabileceğimize bakıcaz.

Öncelikle “File>>New>>Class” diyerek verileri taşıyacağımız, büyük harfle başlayan, “IkinciSayfa” adını verdiğimiz, bir Java dosyası oluşturuyoruz. Ardından tekrar “File>>New>>Android XML File” diyerek taşıdığımız verileri göreceğimiz, küçük harfle başlayan, “ikinci_sayfa” adında bir xml sayfası oluşturuyoruz.

MainActivity.Java dosyamızın kodlarına yumuluyoruz:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package com.example.sayfalararasiveritasima;
 
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.content.Intent;
import android.os.Bundle;
 
public class MainActivity extends ActionBarActivity {
 
	Button btn;
	EditText et;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        btn = (Button) findViewById(R.id.btnGonder);
        et = (EditText)findViewById(R.id.etid1);
 
        btn.setOnClickListener(new OnClickListener() {
 
			@Override
			public void onClick(View v) {
				Intent intent = new Intent(MainActivity.this,IkinciSayfa.class);
				intent.putExtra("veri", et.getText().toString());
				startActivity(intent);
			}
		});
    }
}

Ardından activity_main.xml dosyamızın kodlarını yazıyoruz:

1
2
3
4
 
 
    <button>
</button>

Şimdide oluşturduğumuz IkinciSayfa.java dosyamızın kodlarını yazıyoruz:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package com.example.sayfalararasiveritasima;
 
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.TextView;
 
public class IkinciSayfa extends ActionBarActivity {
 
	TextView tasinanYazi;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.ikinci_sayfa);
 
        tasinanYazi = (TextView)findViewById(R.id.tvTasinanVeri);
 
        tasinanYazi.setText(getIntent().getExtras().getString("veri"));
    }
}

Hemen akabinde yine sonradan oluşturduğumuz “ikinci_sayfa.xml” dosyamızın kodlarını yazıyoruz:

1
 

Son olarakta IkinciSayfa.Java dosyamızı AndroidManifest.xml dosyasının xml bölümünde tanımlıyoruz:

Bu kodun:

1
 

… hemen altına bu kodları yazıyoruz:

1
 

Tüm bunların neticesinde uygulamamızı çalıştırıyoruz ve karşımıza çıkan görüntü şu şekilde oluyor:

Android Sayfalar Arası Veri Taşıma

EditText’e yazımızı yazıyoruz ve Veriyi Fırlat diyerek bir sonraki sayfaya veriyi taşıyoruz:

Android Sayfalar Arası Veri Taşıma

Evet gençler. Bir android dersinin daha sonuna geldik. Umarım yararlı olmuştur. Bundan sonra ki dersi kim bilir ne zaman ekleriz, kısmet bu işler …

Bir sonra ki konuda tekrar görüşene kadar kendinizle iyi geçinin …

Bilinmeyen Bilişim Kitabı
  • Furkan Çelik

    Abi bende bu tarz yazdım ama birinci ekrandan ikinci ekrana geçip birinci ekrana veri gönderiyorum ama ilk ekrandan programı açtığım hemen program durduruldu diyor

    • Aynısını yaptıysan kodları iyice bir incele. Çünkü bende çalışıp sende çalışmamasının tek nedeni kodlardır. Kodlar kişiye göre çalışmaz =)

      • Furkan Çelik

        Abi şimdi çalıştı nedense ama veriyi alıp almadığını anlamak için text yazdırıyorum ama ondan sonra açılmıyo program yani senden tek farkım yazı yerine sayı göndermem ve 2. Ekrandan 1. Ekrana göndermem

  • Ozkan Demir

    ben birinci ekranda dizi içine sayılar kayıt ediyorum ikinci ekranda da bu dizi elamanı içindeki sayılara ihtiyacım var bunları bu şekilde mi sağlasam daha iyi olur yoksa daha kolay pratik yolu var mı yada veri tabını olarak oluşturup mu kullansam daha iyi olur ?

    • Zaten buradaki amaç birinci ekrandaki veriyi ikinci ekrana taşımak. İkinci ekrana taşıdıktan sonra o veriyi istediğin şekilde kullanabilirsin. Bu yöntem veri tabanı kullanılmadan yapılan basit yöntem. Veritabanı kullanılması daha sağlıklı olur. O zaman taşıma işlemi olmaz, kayıt etme ve çekme işlemi yapılır.