Merhabalar,

Bu yazımda Android’te List Controlde basit olarak arrayden aldığım bilgileri liste şeklinde nasıl gösterdiğimden bahsedeceğim.

İlk olarak ListControl diye bir proje açıyorum. Projeme resimdeki gibi yeni bir xml dosyası ekliyorum ve bu xml dosyasının adını listelemede ülkeleri göstereceğimden countries olarak adlandırıyorum.

Daha sonra eklemiş olduğum countries.xml dosyasına resimdeki gibi ülkeleri sırasıyla ekliyorum.

Bu eklemiş olduğumuz ülke verilerini main.xml dosyasında gösterilebilmek için main.xml dosyasına resimdeki gibi Palette->Composite kısmından ListView i ekliyoruz.


Eklemiş olduğumuz ListView in bağlantısını sağlayabilmek için main.xml dosyasında id sini düzeltiyoruz.

Son olarak da java dosyamızda resimdeki gerekli değişiklikleri yaparak verilerimizin listelenmesini sağlıyoruz.

Burada ilk olarak extends den sonra gelen Activity yerine ListActivity yi ekledik. Daha sonra da bir listAdapter tanımlayarak verimizin oluşturmuş olduğumuz array içinden çekerek gösterilmesini sağladık.

Projemizi çalıştırdığımızda resimdeki gibi android te verilerimiz sırasıyla gösterilmektedir :)

 

Merhabalar,

Bu yazımda Android te hazırlamış olduğum KPDS ve ÜDS sınavlarının hesabını yapan bir uygulamadan bahsetmek istedim. Uygulamayı çalıştırdığımdaki ekran görüntüsü resimdeki gibi olacaktır.

İlk olarak hesaplamak istediğim sınavı seçiyorum. Daha sonra hangi seçmiş olduğum sınava ait doğru, yanlış ve boş cevap bilgilerimi giriyorum ve hesapla dediğimde aldığım puanı uygulama gösteriyor.

Ben uygulamayı geliştirirken ingilizce yaptım uygulamanızı dizayn ederken siz türkçe olarak yapabilirsiniz :)

Uygulamanızın dizaynını daha önceki yazılarımda da belirttiğim üzere main.xml dosyasından yapabilirsiniz. Daha sonra yapmanız gereken benim paylaştığım class dosyasını sizin oluşturduğunuz class dosyasına entegre etmeniz gerekecek.

package com.KPDS_UDS_Calculator;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.EditText;
import android.widget.TextView;

public class KPDS_UDS_CalculatorActivity extends Activity implements OnClickListener {
 EditText correctnumber;
 EditText wrongnumber;
 EditText emptynumber;
 TextView grade;
 TextView warning;
 RadioButton kpds;
 RadioButton uds;
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);
 kpds=((RadioButton) findViewById(R.id.kpds));  //KPDS Radiobutonunu kpds değişkenine atıyoruz.
 uds=((RadioButton) findViewById(R.id.uds)); //ÜDS Radiobutonunu üds değişkenine atıyoruz.
 kpds.setChecked(true); //KPDS butonu ilk olarak seçili hale getiriyoruz.

 correctnumber = (EditText) this.findViewById(R.id.correct); //Doğru sayısını gireceğimiz textin içeriğini correctnumber değişkenine atıyoruz
 wrongnumber = (EditText) this.findViewById(R.id.wrong);  //Yanlış sayısını gireceğimiz textin içeriğini wrongnumber değişkenine atıyoruz.
 grade = (TextView) this.findViewById(R.id.grade); //Notunuzun gösterileceği textin içeriği grade değişkenine atıyoruz.
 warning = (TextView) this.findViewById(R.id.warning); //Kullanıcı yanlış veri girdiğinde uyarı mesajı vermek amacıyla warning değişkeni tanımlıyoruz.

 emptynumber = (EditText) this.findViewById(R.id.empty); //Boş sayısını gireceğimiz textin içeriğini emptynumber değişkenine atıyoruz.

 Button calculate = (Button) findViewById(R.id.calculate); //Calculate(Hesapla) butonunu calculate değişkenine atıyoruz.
 calculate.setOnClickListener( this); //Calculate butonuna tıklandığında onclick olayını tetikliyoruz.
 }

 public void onClick(View v) {
 double sum,x,y,z=0;
 x=Double.parseDouble(correctnumber.getText().toString()); //Değişkenlerimizi double a çeviriyoruz
 y=Double.parseDouble(wrongnumber.getText().toString());
 z=Double.parseDouble(emptynumber.getText().toString());
 sum=(x+y +z); //Toplamlarını sum değişkenine atıyoruz
 if (kpds.isChecked()) { // KPDS sınavı işaretli ise 
 if (sum<=100) { // toplam sayı 100 eşit ve 100 den küçük ise kpdscalculate fonksiyonunu çağırıyoruz
 kpdscalculate();
 }
 else {
 warning.setText("Number of answers cannot be greater than 100"); // Toplam sayının 100 den büyük olamayacağını belirtiyoruz
 }
 }
 if (uds.isChecked()) { // ÜDS sınavı işaretli ise
 if (sum<=80) { //Toplam sayı 80 e eşit ve 80 den küçük ise udscalculate fonksiyonunu çalıştırıyoruz
 udscalculate();
 }
 else {
 warning.setText("Number of answers cannot be greater than 80"); // Toplam soru sayısının 80 den büyük olamayacağını mesaj veriyoruz
 }

 }
 }

 protected void kpdscalculate() { //KPDS puanını hesaplıyoruz
 double val = Double.parseDouble(correctnumber.getText().toString());
 warning.setText("");
 grade.setText(Double.toString(val*1.0));
 }
 protected void udscalculate() { // ÜDS puanını hesaplıyoruz
 double val = Double.parseDouble(correctnumber.getText().toString());
 warning.setText("");
 grade.setText(Double.toString(val*1.25));
 }

 }

Bu yazımda Android te yapmış olduğum KPDS ve ÜDS sınavlarını hesaplayan uygulamadan bahsetmeye çalıştım. Umarım bu ve benzeri uygulamalarınızda size yardımı olur :)

Merhabalar,

Bu yazımda Java da basit bir frame ve panel nasıl oluşturulur bundan bahsedeceğim. Resimde gördüğünüz bir frame in oluşmasını kod ile tek tek açıklayalım.

İlk olarak import java.awt.*;  import javax.swing.*; kodları ile java.awt ve javax.swing kütüphanelerini projemize ekliyoruz.

public static void main(String[] args) {

// TODO Auto-generated method stub

JFrame frame= new JFrame(“Frame Başlığı”); // Yeni bir frame oluşturuyoruz ve burada frame in başlığını belirtiyoruz.

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanel primary= new JPanel(); // Yeni bir Panel oluşturuyoruz ve primary olarak belirtiyoruz.

primary.setBackground(Color.yellow); // Panelin arkaplan rengini sarı olarak belirtiyoruz.

primary.setPreferredSize(new Dimension(250,75)); // Panelimizin boyutlarını 250,75 olarak belirtiyoruz.

JLabel label1 =new JLabel(“Panel mesajının içeriği 1″); //Panelimizde gözükmesini istediğimiz içeriği JLabel kodu ile tanımlıyoruz.

JLabel label2 =new JLabel(“Panel mesajının içeriği 2″);

primary.add(label1); // Gözükmesini istediğimiz içeriği panelimize ekliyoruz

primary.add(label2);

frame.getContentPane().add(primary); //Gözükmesini istediğimiz paneli frame mizin içine ekliyoruz.

frame.pack();

frame.setVisible(true);

}

Ben bu yazımda bir tane panelin bir framede gösterilmesinden bahsettim ama siz birden fazla panel tanımlayıp aynı frame içine de ekleyebilirsiniz :)

Merhabalar,

Silverlight a olan destekle piyasada çok güzel örnekler görmekteyiz. Bende bu yazımda Silverlight ta oluşturmuş olduğum çok hoş olan bir galeri örneğinden bahsetmek istedim.

Resimdeki gibi çoklu resimler için mükemmel bir galeri örneği.

Benim oluşturduğum galeri de Türkiye’den Sinop, Ankara, İstanbul ve Kastamonu şehirlerinden bir kaç resim bulunmaktadır.

Resimleri istediğiniz şekilde kategori edebilirsiniz bu galeride. Ayrıca resme çift tıklayınca resimle ilgili daha fazla bilgi görüntülenmesi de mümkündür.

Ayrıntılı inceleyebilmek için http://ekremyildiz.net/Dosyalar/Galeri/ adresindeki örneğe bakabilirsiniz :)

Silverlight ın bu güzel galerisi ile şirketlerin ürünlerini göstermek de mümkündür. Kategori, Açıklama gibi özelliklerinin yanında ayrıca fiyat vs. kategorilere bölerek daha fazla seçenek sunabilirsiniz :)

Web sayfalarımızın önemli öğelerinden biridir iletişim sayfaları. İletişim sayfanızda sadece direk mail telefon bilginizi gösterebileceğiniz gibi aşağıdaki gibi forum sayfası da oluşturabilirsiniz.

Forum sayfasının tasarımını yukarıdaki gibi yapabilirsiniz. Burada görülen Label ı not amacıyla koydum ben foruma. Gönder butonuna bastıktan sonra resimdeki gibi “Mesajınız Gönderildi” diye uyarı verecektir.

Böyle bir iletişim formu hazırladıktan sonra .NET te bunu göndermek çok kolay.

Bunun için yapmanız gereken using System kısmında using System.Net.Mail; ile mail tanımı yapmak ve Gönder butonun Click olayına aşağıdaki kodu yazmak.

protected void btnGonder_Click(object sender, EventArgs e)

{

char karakter = ((char)(10)); // Enter karakteri oluşturuyoruz

SmtpClient client = new SmtpClient(); // Mail Smptp Server kullanarak gönderildiği için bir SmtpClient tanımlıyoruz

client.Credentials = new System.Net.NetworkCredential(“mailadresiniz”, “şifreniz”); // Bu kısımda mail adresinizi ve şifrenizi belirtiyorsunuz

client.Host = “smtp.gmail.com”; // Mail hesabınızın smtp bilgisini belirtiyoruz

client.EnableSsl = true;

MailAddress to = new MailAddress(“mailadresiniz”,”Ekrem YILDIZ”); //  Burada iletişim formundan gidecek mail hangi hesabınıza gitmesini istiyorsanız onu yazıyorsunuz.

MailAddress from = new MailAddress(txtEmail.Text,txtad.Text+” “+txtsoyad.Text); // Mail bilgisi kim tarafından gönderiliyorsa onu yazıyorsunuz

MailMessage message = new MailMessage(from, to);

message.Subject = “İletişim Formu “; // Mesajımızın başlığını belirtiyoruz.

message.Body = “Adı : “+txtad.Text+karakter+”Soyadı : “+txtsoyad.Text+karakter+”TCKimlik No:”+txtKimlikNo.Text+karakter+”Telefon Numarası : “+txtTel.Text+karakter+”Email Adres : “+txtEmail.Text + karakter+”Mesajınız : “+ txtMesaj.Text ; // Mesajımızın içeriğini belirtiyoruz.

client.Send(message);       // Mesajımız gönderiliyor

lbluyari.Text = “Mesajınız Gönderildi”; // Mesaj gönderme işlemi tamamlanınca “Mesajınız Gönderildi” diye mesaj veriyoruz.
}

Bu yazımda Asp.Net ortamında geliştirilmiş smtp server kullanılarak oluşturulmuş olan iletişim formundan mail gönderme işleminden bahsettim. Umarım iletişim forumlarınızda işinize yarar :)

String obje bir kez oluşturulduğunda, değeri uzatılamaz yada kısaltılamaz. O yüzden string objeler değişmezdir. Fakat, bazı yöntemlerle stringin var olan değeri üzerinde değişiklikler yapabiliriz.

Örnek olarak Eclipse te String Class isimli bir proje açalım.

Açtığımız bu projemize StringClass paketi ve Classı ekledim.

StringClass.java dosyamda resimde görünen kodları ekleyerek orijinal string de değişiklikler yaptım.

Bunları sırasıyla açıklayayım:

String cumle=”Bu bir string class uygulamasıdır”; //İlk olarak cumle adlı bir string değişken tanımlıyoruz.

String degisim1,degisim2,degisim3,degisim4,degisim5; char degisim6; //String değişkenlerimi tanımlıyorum yaptığımız değişiklikleri bunlar üzerine aktaracağız.

int index=7;  //integer olarak index değişkeni tanımlıyoruz ve değerini 7 yapıyoruz.

System.out.println(“Orijinal metin: “+cumle); //Orijinal cümlemizi yazdırıyoruz.

System.out.println(“Metnin uzunluğu: “+cumle.length()); // length() komutu ile metnimizin kaç karakterden oluştuğunu görüyoruz.

degisim1=cumle.concat(” Concat ile ekleme yapılır.”); // Concat(string) komutu ile stringimize yeni bir string ekliyoruz.

degisim2=cumle.toUpperCase(); // cümlemizin tümünü büyük harfe çeviriyoruz.

degisim3=cumle.toLowerCase(); // cümlemizin tamamını küçük harfe çeviriyoruz.

degisim4=cumle.replace(‘a’, ‘e’); //Replace(char değişecekkarakter,char yenikarakter) ile cümlemizde a harfi yerine e harfini getiriyoruz.

degisim5=cumle.substring(7,19); //Substring(int offset,int endIndex) ile 7. karakterden 19. karakter e kadar olan kısmı alıyoruz.

degisim6=cumle.charAt(index); //charat(index) ile yukarıda belirttiğimiz index değişkeni 7 olduğu için 7. karakteri alıyoruz.

//Sırasıyla değişimleri gösteriyoruz.

System.out.println(“Değişim 1: “+degisim1);

System.out.println(“Değişim 2: “+degisim2);

System.out.println(“Değişim 3: “+degisim3);

System.out.println(“Değişim 4: “+degisim4);

System.out.println(“Değişim 5: “+degisim5);

System.out.println(“Değişim 6: “+degisim6);

Projemizi çalıştırdığımızda çıktısı resimdeki gibi olacaktır.

Bu yazımda String Class ta kullanılan bazı metodlardan bahsetmeye çalıştım. Umarım işinize yarar :)

Bu yazımda Layout tiplerinden bahsetmeye çalışacağım.

Layoutlar uygulamanızın tasarımınızı geliştirmenize yarayan önemli elementlerdir.

Layout tiplerinden sırasıyla bahsedelim. İlk olarak yeni bir proje açalım ve adını Layout olarak atayalım.

Projeniz ilk açıldığında resimdeki gibi görünecektir.

Linear Layout

main.xml dosyamızı açtığımızda kod kısmı aşağıdaki gibi görünecektir.

xml dosyasında gördüğümüzü üzere, LinearLayout zaten tanımlanmış gözükmektedir. Linear Layout u kullanarak, kullanıcılar dikey ve yatay olarak istedikleri öğeleri koyabilirler.

Burada kodda görünen orientation=”vertical”, kullanıcının ekrana koyduğu bütün öğelerin dikey olarak ekranda yerleştirileceği anlamına gelmektedir.

Örnek olarak, ekrana yerleştirmiş olduğumuz buton ve checkbox öğeleri dikey olarak gözükecektir.

Orientation ı horizontal yapalım. Bunu main.xml dosyasında vertical yerine horizontal yazarak yapabileceğimiz gibi, resimde gösterildiği gibi “Set Horizontal Orientation” butonuna da tıklayarak yapabiliriz.

Horizontal orientation butonuna tıkladıktan sonra öğelerin görünümü aşağıdaki gibi olacaktır.

Resimde de görüldüğü gibi sadece Hello World, LayoutsActivity! yazısının bulunduğu TextView öğesi gözükmekte sadece. Bunun sebebi ise TextView öğesinin “Toggle Fill Width” butonu tıklanmış olmasıdır.

Toggle Fill Width butonunun seçilmiş olması kaldırıldığında  resimdeki gibi bütün öğelerimiz gözükecektir. Bu arada ekranda düzgün gözüksün diye TextView öğesinin text özelliğini Hello World olarak değiştirdim.

Burada bilmeniz gereken iki şey var. Toggle Fill Width butonu seçili durumda iken TextView öğesinni Layout_Width özelliği match_parent olarak gözükecektir.

Eğer Toggle Fill Width butonu seçili değilse Layout_Width özelliği wrap_content olarak gözükecektir.

Match_parent özelliği layoutun genişliği ne ise eklediğiniz öğenin de genişliğini o kadar yapar.

Wrap_content özelliği ise layoutun genişliği eklemiş olduğunuz öğenin içeriğine bağlı olacağını gösterir.

 

Relative Layout

Diğer bir layout tipi ise Relative Layout. Var olan LinearLayout u Relative Layout a çevirmek için resimdeki gibi LinearLayout yazısını silip yerine Relative Layout yazalım. Ayrıca önceden eklemiş olduğumuz öğeleri de silelim.

Burada dikkatinizi çeken şeylerden biri Linear Layoutta kullandığımız orientation kodu Relative Layout ta geçerli değildir. Relative Layout un anlamı öğelerin yerleştirme işlemi birbirlerinin konumuna göre yapılır.

İlk olarak Relative Layout umuza bir buton ekleyelim. Buton ekleme işlemi yaparken, resimde de görüldüğü gibi bazı yönlendirme çizgileri gözükecektir.

Eklemiş olduğumuz butonun gravity özelliğini değiştirebiliriz. Bunu resimdeki gibi change the gravity seçeneği ile yapabiliriz.

Butonumuzun gravity özelliğini center yaptıktan sonra görüntüsü resimdeki gibi olacaktır.

Gravity özelliğini ayrıca resimdeki gibi Properties penceresinden de yapabilirsiniz.

Gravity özelliğini tekrar Top yapalım.

Ekranımıza bir tane RadioButton öğesi ekleyelim. Biz bu öğeyi eklemeye çalıştığımızda, resimdeki gibi bazı yönlendirme çizgileri karşımıza çıkacaktır.

RadioButton öğemizin yerini toRightOf=button1 olarak seçtiğimizde görüntüsü aşağıdaki resimdeki gibi olacaktır.

 

Frame Layout

Frame Layout her zaman kullanılan bir Layout tipi değildir. main.xml dosyamızda RelativeLayout yerine Frame Layout yazalım.

Layout tipimizi Frame Layout olarak değiştirdiğimizde ekranımızda yüklü olan öğelerin üstüste geldiğini görmekteyiz.

Frame Layout kullandığınız ekrana yerleştirdiğiniz öğelerin ayrı yerlerde kullanılması sorun olacaktır.

Frame Layout çok kullanılan bir Layout tipi olmasa da bazı yerlerde tercih edilebilir. Örneğin üst üste resimlerinizin gösterildiği bir fotoğraf albümünüz olsun. Bu resimlerin visibility özelliği ile oynarak sırayla gösterimini yapabilmeniz için Frame Layout u kullanabilirsiniz.

 

Table Layout

Table Layout en çok kullanılan layout tipidir. Çalışması temel olarak Excel ve HTML de ki tablo konsepti ile aynıdır.

main.xml dosyasındaki FrameLayout u TableLayout olarak değiştirelim ve sahip olduğumuz öğeleri silelim.

Eklemiş olduğumuz Table Layouta, satır eklemek için TableRow öğesini kullanıyoruz. Resimdeki gibi TableRow öğesini ekleyebiliriz.

Ekranımıza üç tane TableRow ekleyelim ve tasarımını resimdeki gibi yapalım.

Resimde görüldüğü gibi form oluşturma işlemlerinde çok rahat şekilde Table Layout kullanılmaktadır. Burada birinci ve ikinci satırda TextView ve EditText öğelerini son satırda ise buton öğesini görmekteyiz.

xml kodumuz aşağıdaki gibi olacaktır.

 

Bu yazımda Layout Tiplerinden bahsetmeye çalıştım. Layoutların yardımı ile çok rahat bir şekilde güzel ekran tasarımları yapabilirsiniz. Örnek olarak resimdeki temel bir hesap makinesi layoutların yardımı ile oluşturulmuştur :)

 

DroidDraw programı Grafiksel bir arayüz programıdır. Bu programı çalıştırdığınızda çok rahat istediğiniz tasarımı yapabilirsiniz. Yaptığınız tasarımı işiniz bittikten sonra Eclipse ortamına aktarabilirsiniz. Eclipse te tasarım da sorun yaşayan arkadaşlara tavsiyemdir :)

Programı indirmek için: http://www.droiddraw.org/

Tasarım işleminizi tamamladıktan sonra yapmanız gereken tek şey resimdeki gibi Generate butonuna tıklamanız.

Program otomatik olarak size .xml dosyasında yer alacak çıktıyı size sunuyor. Bu text i Kopyala-Yapıştır metoduyla Eclipse ortamında çalıştığınız main.xml dosyasına aktarabilirsiniz. :)

 

Merhabalar,

Bu yazımda kullanıcı arabirimlerinde bulunan öğelerde kullandığımız birimlerden bahsedeceğim. Birimler tasarladığınız projenizdeki öğelerin farklı çözünürlükteki ekranlarda farklı görünmesi sorunu çözmemizi sağlar.

İlk olarak units isimli bir proje açalım.

GraphicalLayout tabında grafiksel görünümü görmekteyiz. Projemiz ilk açıldığında hali hazırda bir TextView öğesi bulunmaktadır. Varsayılan olarak gelen bu öğeyi silelim.

Pallette kısmındaki Form widgets ın altındaki öğelerden bir butonu ekrana taşıyalım. Daha sonra graphical layout sekmesinin yanındaki main.xml sekmesine tıklayalım.

main.xml dosyasına baktığımızda LinearLayout ve Button olmak üzere iki tane öğemizi görmekteyiz. Bu öğelere ait layout_width ve layout_height kodlarını görmekteyiz. Genişlik ve yükseklik için bir kaç seçeneğimiz bulunmakta burada. Bunlar “fill_parent” ve “wrap_content”.

“fill_parent”, ‘seçilen öğenin arkasında bulunan ekranı kapla’ anlamına gelmektedir. Bizim projemizde; LinearLayout, yani siyah ekran, tüm arkaplanı kaplamaktadır.

“wrap_content” ise, ‘seçilen öğenin görünmesi için gerekli olan alan ne ise o kadar alanı kapla’ anlamına gelmektedir.

Genişlik ve yükseklik için bir de  “match_parent” opsiyonu vardır. Bu seçenek “fill_parent” ile aynı işlevi görmektedir.

xml dosyasından biraz bahsettik. Tekrar graphical layout sekmesine gelelim ve ekrandaki butonumuzu seçelim. Properties penceresinden “Misc” kısmına geldiğimizde resimdeki gibi layout width ve layout height kısımlarını görmekteyiz. xml dosyasında yapadilğimiz değişiklikleri buradan da yapabiliriz.

Aynı değişiklikleri ekranın hemen üst kısmında bulunan menüden de ayarlayabilirsiniz. Bu menüde toggle ve orientation butonlarını göreceksiniz. Bu butonları da teker teker deneyebilirsiniz.

Eclipse ortamında yükseklik ve genişlik ile ilgili değişiklikleri nasıl yapabileceğimizden bahsettik. Bunun dışında öğelerimize nasıl boyutlandırma yapabiliriz ona biraz değinelim. Örnek olarak butonumuzun genişliğini 300 pixel yüksekliğini 250 pixel yapalım. Burada vereceğimiz değerin birimi çok önemli. Bu değer integer olamaz. String olmak zorunda. Pixel anlamına gelen “px” değeri giriyoruz.

Biz burada pixel değeri verdik ama buton farklı cihazlarda farklı boyutlarda gözükebilir. Bu problemi gidermek için dp(device independent pixel(cihaz bağımsız pixel)) birimidir. Dp yerine dip de kullanılabilir fakat genelde dp kullanılmaktadır.

Buton boyutlandırmasından bahsettik şimdi de yazı boyutlandırmasından bahsedelim. Yazı boyutlandırmasında da dp birimini kullanabiliriz. Bu birimi kullanmamız durumda da yazı ölçekleri ile ilgili problem yaşayabiliriz yazı görüntüsü tercihlere göre değiştiğinden. Bu sorunu çözmek için sip(scale independen pixel (ölçek bağımsız pixel)) kullanabiliriz. Ya da genel olarak kullanılan sadece sp.

Ekranımızdaki butonu silelim, form widget tan bir TextView ekleyelim ve boyutlandırmayı sp olarak yapalım.

Bu yazımda kullanıcı ara birimlerinde kullanılan birimlerden bahsettim. Umarım faydalı olur :)

 

Android aktiviteler arası geçiş oluşturma yazımda (http://ekremyildiz.net/?p=56) bir sayfadan diğerine geçişten bahsetmiştim.

Bu yazımda aktiviteler arası geçiş oluşturma yazımda yaptığım örneğin devamı olarak sayfalar arası veri gönderme olayından bahsedeceğim. Yazıma başlamadan bahsetmekte yarar var 2 çeşit intent vardır. Bunlar explicit ve implicit intents. Explicit intentleri örneğin projemize eklediğimiz yeni bir sayfayı çağırmak için kullanırız. Implicit intentleri ise özel olarak belli bir olay için kullanırız. Örneğin, bir resmi paylaşmak için implicit intenleri kullanırız.

Bu yazımda yapacağımız işlem sayfalar arası veri gönderme olduğundan explicit intent kullarak yapacağız bu işlemi.

Activities projemizin üzerinde değişikliklerle devam ediyoruz. Main.xml de resimdeki gibi EditText ekliyoruz. Buraya gireceğimiz verinin diğer sayfadaki TextView de gösterilmesini sağlayacağız. Butonumuzun Text özelliğini de İkinci Aktiviteye Git olarak değiştirdik.

main.xml dosyasında düzenlemeyi yaptıktan sonra ActivitiesActivity.java dosyasında aşağıdaki kodları ekliyoruz. Intent tanımını intent değişkenine atıyoruz. Attığımız değişkene intent.putExtra(“thetext”,et.getText().toString()); kodu ile et.getText ten aldığımız içeriği gönderiyoruz.

Daha sonra secondactivity.java dosyasında aşağıdaki kod ile birinci sayfadan gelen verimizi TextView öğesine aktarıyoruz.

Projemizi çalıştırdığımızda ilk olarak birinci sayfamız gelecek ve buraya diğer sayfada gösterilmesini istediğimiz yazıyı yazıyoruz.

İkinci sayfamızdaki görüntü aşağıdaki gibi olacaktır :)