Android Layoutlar Arası Geçiş ve Veri Gönderme Methodu

Android Layoutlar Arası Geçiş ve Veri Gönderme Methodu

Yayın tarihi : 9 Aralık 2016

Android Layoutlar Arası Geçiş ve Veri Gönderme Methodu

Bu konumuzda android için yazılım geliştirmek isteyenlerin çokça kullanacakları bir işlem hakkında bilgi vermeye çalışacağız. Öncelikle Layout nedir? sorusuyla başlayalım. Layoutlar, android içinde farklı sayfalara verilen teknik bir isimdir. İngilizcede ‘düzen’ anlamına gelir ve proje içerisinde karmaşık işlemleri düzenlemek olarak tanımlanabilir.

Peki neden layoutlara ihtiyaç duyarız?

Bunun cevabı yapılan projeden projeye değişir ancak en temiz ifadeyle karışıklığı önlemek ve detaylandırmayı örnek gösterebiliriz. O zaman bu konumuzu bir örnek üzerinden anlatmaya çalışalım.

Örneğin siz bir yemek tarifi programı yapmak istiyorsunuz ve birden çok yemek tarifini sistemde depoladınız ancak bu yemek tariflerinin bir ismi ve her isme karşılık gelen bir malzeme listesi mevcut, bu durumda kullanıcıya ana sayfada sadece ismi gösterip, o isme tıkladığı zaman gideceği bir sayfada da o isme ait malzeme listesini gösterebilirsiniz.

Nasıl  Yaparız?

Android java dilinde kodlama yapmanıza ve tasarımlarınızı .xml türünde depolamanıza olanak sağlar. Ancak her ne kadar güncelleme gelmiş olsa da aktif bir Visual Studio kadar işlerimizi kolaylaştırdığını söylemek mümkün değil, zira projenize bir layout eklediğiniz zaman bunu yönetecek java sayfası otomatik olarak oluşturulmuyor ve bu işlemleri elle yapmak gerek. Bu işlemleri yapmanın birden fazla yolu var ancak en sık kullanılan ve data göndermenize de izin veren bir yöntem olan Intent yöntemi

Intent Yöntemi Kullanımı1

Öncelikle bir proje oluşturalım ve adını örneğimizden hareketle ‘yemek’ olarak ayarlayalım. Şimdi bu projede bir ana birde detay sayfasına ihtiyacımız olacak, örneğimizde ilgili yemeğe tıkladığında demiştik ancak o biraz daha komplike bir işlem gerektireceği için bir buton koyalım ve sayfalar arasında geçişleri sağlayalım.

 

 

 

 

 

Öncelikle activity_main.xml sayfamıza aşağıdaki bir bir button yerleştirelim ve adını ‘next’ olarak ayarlayalım.

3

 

Sonra layout klasörüne yeni bir layout ekleyelim ve ismini ‘yemek.xml’ olarak ayarlayalım. Ve içerisine bir button yerleştirip adını ‘previous’ olarak ayarlayalım.

2

Şimdi yemek.xml sayfamızın kullanacağı bir java dosyası oluşturalım, adı layoutumuzun adı ile aynı olsun.

4

Burada önemli olan bu sayfamızda yemek.xml sayfamızın java dosyamızın oluşturduğumuz yemek.xml dosyasındaki materyallerden oluşmasıdır. Bu yüzden sayfamızı oluşturduğumuzda aşağıdaki koddaki gibi olmasına dikkat edin

Not: Yukarıda ki kodda gördüğünüz setContentView(R.layout.yemek) bizim oluşturduğumuz layout için, siz projelerinizde bu isimleri değiştirebilirsiniz.

Kod Sayfasını Android’e Tanıtma

Tabi ki bununla da bitmiyor, şuanda sayfamızı oluşturduk ve ona bir java dosyası atadık ancak önemli olan bu java dosyasını android’e tanıtmak bu yüzden manifest>AndroidManifests.xml dosyasını açıyor ve içerisini şu şekilde düzenliyoruz.

Burada activity tagının hemen altına aynı tagdan bir tane daha oluşturduk ve oluşturduğumuz classın adını yazdık.

Buraya kadar ki işlemler layout oluşturma ve ona kod sayfası atayıp o sayfayı androide tanıtma üzerineydi şimdi ise asıl konumuz olan aralarında ki geçişi yapalım.

Öncelikle MainActivity.java dosyasını açalım ve içeriğini şöyle değiştirelim.

Burada intent ile sayfamıza diğer sayfaya yönlendirme yaptık

Yemek.java dosyasının içeriğini de şu şekilde ayarlayalım

Intent ile Veri Göndermek ve Almak

Buraya kadar olan kısımda sayfa yönlendirmesi yaptık peki bir sayfadan diğerine veri aktarımı nasıl yapılır? Bunun için intent içerisinde ki iki fonksiyon biri putExtra ile işimizi hallediyoruz. Kullanımı gayet basit intent i startActivity classına göndermeden önce

Şeklinde bir gönderme işlemi yapıyoruz. Daha sonra gönderdiğimiz sayfada verileri almak istediğimiz sayfada

şeklinde alıyoruz. Bu verileri istediğimiz gibi kullanabiliriz.

Örneği gitHub üzerinden indirebilirsiniz.