• Şuradasınız
  • Anasayfa
  • Android
  • Android Dersleri 10 : Intent Kavramı ve Sayfalar Arası Veri Aktarma

Android Dersleri 10 : Intent Kavramı ve Sayfalar Arası Veri Aktarma

Merhaba arkadaşlar. Bu derste, intent kavramından özet olarak tekrar bahsedeceğim ve uygulamamızdaki diğer sayfaya nasıl veri aktarırız onu anlatacağım.3.android dersinde, nasıl yeni sayfa ekleriz onu anlatmıştım tekrar anlatmayacağım. O yazıya gitmek için tıklayın

Bu derse intent kavramından bahsedeceğim ve intent ile sayfalar arası veri alışverişini anlatacağım. İlk olarak projemize yeni bir sayfa ekleyelim. Bu sayfa için .java uzantılı dosyamızı oluşturalım ve AndroidManifest dosyasına da eklemesini yapalım. Uygulamamızın ilk görüntüsü şu şekilde olacaktır.

1

 

activity_main.xml dosyamızın Graphical Layout kısmını yukarıdaki gibi yapıyoruz. 1 adet buton, 2 adet edittext ve 2 adet textview ekliyoruz. Şimdi bu sayfaya ait kodları yazacağız. Bunun için MainActivity.java dosyasına çift tıklayalım butona tıklandığında diğer sayfaya gitmesini sağlayalım.

2

 

İlk olarak sınıfımızın içerisinde buton, edittext ve textview için birer nesne oluşturuyoruz. Fakat gördüğünüz gibi altını çizdi ve hata verdi. Bunlara ait paketleri import etmemizi istiyor. Bunun için ctrl+shift+o tuşlarına basarak otomatik olarak bu paketleri import edebilirsiniz ya da uyarının üzerine gelip “Import” bunları sayfanıza dahil edebilirsiniz. Bu işlemleri yaptıktan sonra bu 3 kontrolümüzü, id’leri ile bağlayalım. Daha sonra butonumuz için bir listener oluşturalım. Kodumuzun son şekli aşağıdaki gibi olacaktır.

3

 

Burada 5 adet nesnemizi id’lerine bağladık ve daha sonra b nesnesi için bir listener oluşturduk. onClick() metodunun içine de butona tıklandığında olacakları yazacağız. Bu olacaklar, diğer sayfaya geçme ve girilen verileri diğer sayfaya taşımadır. Bu arada şunu da söyleyelim. Listener olayının tamamını tek tek yazmanıza gerek yok. new View. dedikten sonra ctrl+space tuşlarına bastığınızda kendisi tamamlayacaktır. Yani şunun gibi:

4

 

Burada en üsttekini seçtiğinizde otomatik olarak onClick() metodu da oluşacaktır. Bu şekilde ctrl+boşluk tuşlarını kullanarak kodlarınızı otomatik olarak tamamlatabilirsiniz. Buna intellisense özelliği denir. Şimdi diğer sayfaya geçmek için ve formda doldurulan verilerin aktarılması için yazmamız gereken kodları gösterelim.

11

onClick() metodu içindeki kodları açıklayalım(Butona tıklanınca). İlk satırda bir intent oluşturduk. Bu intent nesnesi üzerinden diğer sayfaya geçeceğiz. Bunu 3.android dersimizde anlatmıştık. 2.satırda ise i nesnesi üzerinden putExtra() metodunu çağırdık. Yani bu nesneye extra bilgiler yükleyeceğiz. Peki hangi bilgiyi ve hangi ad ile yükleyeceğiz. İlk parametreye, verileri hangi değişken üzerinde taşıyacağımız yazdık. Diğer parametreye ise hangi veriyi taşıyacağımızı yazdık. Biz edittext’ler içerisine yazılan veriyi getText() metodu ile aldık. Buradaki ilk parametre için şunu söyleyelim. src klasörü altında Degiskenler adında bir sınıf oluşturduk ve verilerimizi taşıyacak olan değişkenleri burada tanımladık. Bunu sınıf olarak tanımladık çünkü her iki ekranda da bu değişkenlerin tanınabilmesi gerekiyor. Ekran görüntüsünü aşağıda verelim.

dd

 

Daha sonra setClass() metodunu kullanarak, hangi sayfanın açılacağını yani verilerin hangi ekrana taşınacağını belirledik. Burada sayfa olarak activity2.class‘ı gösterdik. Son olarak startActivity() ile de yeni bir aktiviteyi başlattık, parametre olarak da bu i nesnesini gönderdik. i nesnesi içerisinde 2 bilgi var. Bunları diğer sayfada kullanacağız.

Şimdi diğer sayfanın tasarımını da aşağıdaki gibi yapalım.

digersayfa

 

Burada aslında 4 adet textview var fakat 2 tanesinin text özelliğini ilk aşamada boş ayarladık çünkü buralara, ilk sayfadan gelen verileri yazacağız. Şimdi bu sayfa için kod kısmına bakalım.

e1

 

Burada 4 adet textview nesnesi oluşturduk fakat son ilk ikisi ile işlem yapmayacağız. Yani onlar, ekranda görünen textview’lar. Bu görünmeyen yani text özelliği ” ” (boş) atanmış textview’ların setText() metoduna parametre olarak verileri taşıyan değişkenleri verdik. Tabi bunları aşağıdaki metod ile kullanmamız gerekiyor.

getIntent().getExtras().getString();

Eğer alacağımız değer int ise, getInt() dememiz gerekir. İlk sayfayı doldurup butona tıkladığımızda diğer sayfaya geçecek ve ilk sayfada yazdıklarımızı gösterecektir. 

 

Benzer Yazılar

Yorumlar

Yorum Yazın

Su elementleri kullanabilirsiniz : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Arama
RSS
Beni yukari isinla