Android Programlama 2 -> Intent Nedir?

INTENT NEDİR ? NE İÇİN KULLANILIR?

    Bir android uygulaması birden fazla activity içerir. Her activitynin yeni bir arayüze sahip olmasının yanında belirlenen görevi de yerine getirir.(Örn; fotoğraf çekmek, arama yapmak vs.) Activityler arasında geçiş yapılmak istendiğinde ise Intent sınıfı kullanılmalıdır. Uygulamada startActivity() gibi bir metotla sisteme itent geçirdiğinizde, sistem doğru eylemi belirleyebilmek için bu intenti kullanır. Intent sınıfı, sadece kullanıldığı uygulamadaki activityler için değil farklı uygulamalar tarafından kullanılan bir activity'yi çalıştırma imkanı da sağlar.

   Oluşturulan bir activity sınıfını başlatmak için bir intent nesnesi oluşturulur. Bu nesneyi startActivity() metodu ile başlatırız. Bu metot sadece bizi bir başka activity ekranına götürür.





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

         İlk satırda Intent nesnesi oluşturduk. getApplicationContext() parametresine hangi activity içerisinde olduğumuzu belirtiyoruz. "this" kelimesi ise bulunduğumuz sınıfı temsil etmektedir. Main2Activity.class parametresi ise hangi activity e hangi sınıfa gitmek istediğimizi yazıyoruz.

       startActivity(intent) komutu ile oluşturduğumuz intenti başlatabiliriz.

   Eğer bir veri almak istiyorsak startActivity() yerine startActivityForResult() komutunu kullanırız. Bu metot ile alınan veri onActivityResult() metoduna aktarılır.

AKTIVITYDEN AKTIVITYYE VERİ AKTARIMI

Gelin kodlar üzerinden intentler ile yapılan bir kaç veri aktarımını inceleyelim.

//MainActivity.java sınıfında
String klm = "Merhaba Dünya!";
Intent intent = new Intent(getApplicationContext(),Main2Activity.class);
intent.putExtra("alinan",klm);
startActivity(intent);



//Main2Activity.java sınıfında
Bundle bnd = getIntent().getExtras();
String alinan = bnd.getString("alinan");
Toast.makeText(this, "alinan", Toast.LENGTH_SHORT).show();



Intent kullanarak telefonun arama ekranına bir numara yazdırma ve arama ekranına götürmek için yazamız gereken kod satırları:


//MainActivity.java sınıfında
Uri number = Uri.parse("num : 54966611123");
Intent intent1 = new Intent(Intent.ACTION_DIAL,number);
startActivity(intent1);



Bir web sitesine aktarmak için yazmamız gereken kod satırları:


//Main2Activity.java sınıfında
Uri url = Uri.parse("https://tugcekilicarslan.blogspot.com/");
Intent intent2 = new Intent(Intent.ACTION_VIEW);
startActivity(intent2);


Benim özetle intent kavramı ile ilgili anlatacaklarım bunlar umarım faydalı olmuştur. Bir sonraki yazıda görüşmek üzere :))



Yorumlar

Bu blogdaki popüler yayınlar

JAVA İLE INTERFACE KULLANIMI

Android Programlama 1 -> Buton Ekleme - Toast Mesajı - Activityler Arası Geçiş