Kapat

Bir Android uygulamada farklı amaçlar için birçok sayfalar/akitiviteler oluşturulmaktadır. Uygulamaların işlevselliği açısından bu aktivitiler arasında geçişler ve veri aktarımlarına ihtiyaç duyulmaktadır. Bu konuda ise Android işletim sisteminde intent olarak adlandırılan ortak bir yapı oluşturulmuştur. Aktivitiler arasında geçişine, başka bir aktivitenin çalıştırılmasına, haberleşmesine, istek gönderip karşılığında cevap almasına yarayan sistemdir. Intent’in dilimizdeki çevirisi niyet olarak karşımıza çıkmaktadır.

Intent kavramı ikiye ayrılmaktadır. Bunlar doğrudan ve dolaylı olarak karşımıza çıkmaktadır. Doğrudan intent’lerde direkt isim vererek uygulamalarla iletişim kurulurken, dolaylı intent’lerde ise Android intent filtresini çalıştırarak uygun uygulamayı bulur ve onla iletişime geçer. Dolaylı intent’e örnek olarak uygulama üzerinden bir internet tarayıcısını çalıştırmak olabilir.

Şimdi Intent aracılığıyla aktivite geçişine örnek verelim. Uygulamamızda MainActivity ve Main2Activity adlı iki aktivite olduğunu varsayalım. Öncelikle iki aktiviteyede kütüphanemizi ekliyoruz.

import android.content.Intent;

İlk aktivitimizden geçiş yapacağımız butonun setOnClickListener olayına aşağıda olduğu gibi kodlarımızı ekliyoruz.

Intent intent = new Intent(getApplicationContext(), Main2Activity.class);
startActivity(intent);

Burada Intent sınıfından bir değişken oluşturup, değişken aktivitesini başlatıyoruz ve geçişi sağlamış oluyoruz.

Peki veri aktarımı yapmak istesek?

Burada da yapmamız gereken putExtra ve getExtra metotlarını kullanmak. Butondaki kodlarımızın arasına aşağıda göstereceğim satırı ekliyoruz.

Intent intent = new Intent(getApplicationContext(), Main2Activity.class);
intent.putExtra("veriadi", "Veri İçeriği"); // bu satırı
startActivity(intent);

Burada dikkat edilmesi gereken nokta veriadi olarak kullandığımız değişkendir. Main2Activity’den veriyi alabilmek için onCreate metodumuza

Intent intent = getIntent();

ekliyoruz ve

intent.getStringExtra("veriadi")

şeklinde istediğimiz alana atama yapabiliyoruz. Bu sayede veri alışverişi gerçekleşmiş oluyor.

Bir Cevap Yazın

Kapat

Mehmet Duran ATASEVEN

Teknolojiyi ve gelişimi seven 22 yaşında, yazılım alanına ilgili bir bireyim. Lisans eğitimimi Trakya Üniversitesi'nin Bilgisayar Teknolojisi ve Bilişim Sistemleri bölümünde tamamladım. Masaüstü, web, mobil ve grafik alanında işler çıkarmaktayım.

Sosyal Ağ

%d blogcu bunu beğendi: