elektrik port üyelik servisleri elektrik port üyelik servisleri

Intent İle Sayfa Geçişi ve Data Transferi |
Android Programlama - 2

Mobil uygulama projeleri geliştirilirken genellikle tek bir sayfaya ihtiyaç duyulmaz. Yapılan projelerde sayfalar arası geçişler, sayfalar arası veri transferi gibi sayfaların birbirleriyle olan iletişimi de çoğu zaman mobil programcıların kullanım alanı olmuştur. Bu yazımızda basit bir şekilde sayfalar arası nasıl geçiş yapılır, sayfalar arası veri transferini nasıl ve ne kullanarak sağlarız gibi sorulara yanıt arayacağız.



A- A+
11.12.2014 tarihli yazı 5878 kez okunmuştur.
Android ile mobil bir uygulama geliştirilirken çoğu zaman programcılar tek bir aktivitiye ihtiyaç duymazlar. Mobil uygulamalarda her bir sayfaya aktivite denilmektedir. Bu nedenle birden fazla aktiviteyle uygulamalar geliştirilmektedir. Fakat birden fazla aktiviteyle uygulama geliştirirken aktiviteler arası iletişimin ve bir aktivitedeki veriyi başka bir aktivitede kullanımın nasıl yapılacağı merak konusu olmuştur. Android programlamada basit bir şekilde sayfa geçişi Intent ya da  Bundle ile sağlanır. Bu yazıda uyguladığımız projede Intent kullanılmıştır. 

Projede üç adet sınıf ve iki adet xml file kullanılmıştır. İlk olarak MainActivity sınıfına bağlı olan activity_main.xml isimli dosyadan başlayalım. 

 

 
 
Görsel 1: activity_main.xml 

 

►İlginizi Çekebilir : iPhone'unuzu Profesyonel Kameraya Çevirin       


Görsel 1'de görüldüğü gibi activity_main.xml dosyasına bir adet textview, button ve edittext eklenir. Textview içeriği kullanıcının nereye girdi girmesi gerektiğini bilmesi için "Bir şey yaz ->" olarak ayarlandı. Textview'in hemen yanında ise edittext ve ekranın ortasında da buton bileşenleri yer almaktadır. activity_main.xml içeriği tamamlandıktan sonra bu xml dosyasının bağlı olduğu MainActivity sınıfının nasıl kodlandığına bakabiliriz.

 



Görsel 2: MainActivity.java Sınıfının Tanımlamaları 
 

 
►İlginizi Çekebilir : Cep Telefonu Gerçekten Spermleri Öldürebilir mi? 
  
 
MainActivity sınıfında bir adet button, textview ve edittext eklendiği için üç değişken tanımlanır. Bu değişkenler uygulamada kullanılacağı için değişkenlerin kesinlikle tanımlanması gerekmektedir. Eğer tanımlanmazsa bir önceki cümlede belirttiğimiz gibi bu değişkenler sınıf içinde kullanılmaz hale gelir. Tanımlamalar yapıldıktan sonra eklenilen butonun tıklama özelliği aktif hale getirilmiş olacaktır ve butona tıklandığında olacak olan olaylar yazılacaktır.
 



Görsel 3: Butonun Tıklanılma Olayı  
 

  
►İlginizi Çekebilir : Baz İstasyonları Gerçekten Zararlı mı? 
 
 
Uygulamadaki amaç butona tıklandığı zaman tanımlanmış olan başka bir sınıfa geçilmesi ve sayfa geçişi yaparken veri taşınmasıdır. Uygulamanın en önemli iki noktasından biri tıklama metodunun içeriğine yazılacak olan komutlardır. Bu metodun içeriğinde Intent kullanılacağı için Intent ile nesne türetildi. Sonraki adım bu üretilen nesne üzerinden veri taşımak olacaktır. Bu satır incelenirse veri taşımak için gerekli olan kod parçacığının intent.putExtra() olduğu görülmektedir. Bu metod iki parametre alır. İlk parametre Diger.Ad diğer parametre ise adGiris.getText().toString() 'dir. İlk parametre için başka bir sınıfta var olan string tipi değişkeni kullanıldı. Diger sınıfının içeriği Görsel 4'teki gibidir. Diğer parametre ise tanımlanmış olan edittext değişkenin adıdır. Kısacası bu satırla birlikte edittext ile gelen veri Diger sınıfındaki Ad değişkenine atılmış oluyor. Sonraki adımda hangi sınıftan hangi sınıfa geçileceği belirtilip Intent ile sayfa geçiş işlemi başlatılmış oluyor.
 

 

Görsel 4: Diger.java Sınıfı  

  
 
►İlginizi Çekebilir : GSM Nasıl Çalışır? | 1. Bölüm 

 
Intent ile sınıf geçişi ve veri transferi sağlandıktan sonra geçilen DigerSinif.java sınıfında gelen veriyi gösterecek bir bileşenin olması gerekmektedir. O halde DigerSinif.java sınıfına bağlı bir xml file oluşturulması gerekiyor. Bu dosya oluşturduktan sonra şu şekildedir. 
 



Görsel 5: activity.xml  

 

►İlginizi Çekebilir : Evde Nasıl Cep Telefonu Yapılır? 

 
İlk bakışta sadece bir tane textview var gibi gözüküyor. Aslında activity.xml dosyasının içinde iki tane textview var fakat birinin text içeriği boş bırakılmıştır. Boş bırakılmasındaki amaç gelen string tipi verinin içeriğini, boş bırakılan textview içeriğine atmaktır. activity.xml içeriği tamamlandıktan sonra DigerSinif.java içine bu xml içerisindeki bileşenlerin tanımlanması gerekir. DigerSinif.java içeriği şu şekilde tanımlanmıştır.
 



Görsel 6: DigerSinif.java Tanımlamalar  

 

►İlginizi Çekebilir : Tüm Zamanların En Çok Satan 20 Cep Telefonu 
 
 
Bu sınıfta gelenAd isminde bir textview tanımlanmıştır. Bu değişkenin kullanılmasındaki amaç gelen verinin içeriğini atamaktır. Atama işlemi gelenAd.setText(getIntent().getExtras().getString(Diger.ad)) kod parçacığıyla yapılmaktadır. MainActivity sınıfında adGiris isimli değişkenin değeri Diger.Ad değişkenine atılmıştı. Bu sınıfta ise Diger.Ad değişkenin değeri gelenAd değişkenine atılmaktadır. Kısacası Diger.Ad bir anlamda köprü görevi görmüş oluyor. Aslında uygulamada yapılan adGiris değişkenine girilen veriyi başka sayfada olan gelenAd değişkenine atmaktır.

Unutulmaması gereken en önemli nokta Manifest dosyasının içeriğini ayarlamaktır. Manifest dosyasının içine kullanılan tüm aktivitelerin tanımlanması gerekmektedir. Bu uygulamada iki tane aktivite kullanıldı. Fakat bu sınıflardan sadece DigerSinif.java sınıfının tanımlanması uygulamanın çalışmasını sağlayacaktır. Diger.java sınıfının tanımlanmasına gerek yoktur. Çünkü bu sınıftan sadece bir tane değişken kullanıldı ve herhangi başka bir şekilde kullanılıp uygulamada görülmesi sağlanmadı. Manifest içeriği şu şekilde oluşmuştur.

 



Görsel 7: Manifest.xml İçeriği 


 
Manifest içine sadece kırmızı daire ile belirtilmiş alan eklenir. Uygulama çalıştırıldığında herhangi bir sorun olmadan çalışacaktır.
 

 

ANKET
Endüstri 4.0 için En Hazır Sektör Hangisidir

Sonuçlar