Android Programlama - Activity Geçişleri ve Veri Transferi

Başlatan Fuul oyun, 12 Nisan 2016, 03:42:15

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.


                        
Android'in yapısında sayfalama yapmak için Activity denilen yapılar kullanılmaktadır. Activityleri en basit şekilde içinde işlemler yaptığımız "sayfa" olarak tanımlayabiliriz. Android programlamada en temel kavramlardan biridir. Bir Activityden bir diğerine geçmeyi ve bir önceki activitydeki verileri yeni activitymize aktarmayı anlatacağım sizlere.
   
   İki adet Activitymiz olduğunu ve bunlarıda manifest dosyamızda tanımladığımızı varsayıyorum.
   
   1. Activitymiz (verilere değer atayacağımız activity) (bir adet button ekleyelim)
   
   
[Seç][/url]public class OrnekActivity extends Activity {
   
       private Intent intent;
      private Bundle bundle;
   
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.ornek_activity);
   
       intent = new Intent(OrnekActivity.this,VeriActivity.class);
       bundle = new Bundle();
       
       final Button GecisButonu = (Button)findViewById(R.id.button1);
   
       GecisButonu.setOnClickListener(new View.OnClickListener() {
            
            public void onClick(View v) {
               
            bundle.putString("key", "String deger");
            
            intent.putExtras(bundle);
            startActivity(intent);
   
            }
         });
   
   
       }
   
   @Override
     public boolean onCreateOptionsMenu(Menu menu) {
       getMenuInflater().inflate(R.menu.ornek_activity, menu);
       return true;
     }
   }
   Şimdi 1.Activity içinde yazdığımız kodları bir inceleyelim.
   
   
[Seç][/url]private Intent intent;
   yukarıdaki intent olarak tanımladığım geçişimizi sağlayacak olan değişkendir.
   
   
[Seç][/url]private Bundle bundle;
   bundle olarak tanımladığımız değişken ise bizim aktarılacak verilerimizi tutan bir değişkendir.
   
   onCreate methodunda intentimize hangi activityden hangi activity geçeceğimizi belirtiyoruz aşağıda gördüğünüz şekilde.
   
   
[Seç][/url]intent = new Intent(OrnekActivity.this,VeriActivity.class);
   Sayfamıza eklediğimiz butonu ise GecisButonu ismini verdiğimiz bir button kontrolüne atıyoruz.
   
   
[Seç][/url] final Button GecisButonu = (Button)findViewById(R.id.button1);
   Şimdide butonumuz tıklandığı zaman yeni activitymizi nasıl başlatacağımıza ve verileri nasıl aktaracağımıza bakalım.
   
   
[Seç][/url]GecisButonu.setOnClickListener(new View.OnClickListener() {
            
            public void onClick(View v) {
               
            bundle.putString("key", "String deger");
            
            intent.putExtras(bundle);
            startActivity(intent);
   
            }
         });
   
   Verimizi aktarırken iki kavrama ihtiyacımız var. Birincisi aktardığımız veriye bizim belirleyeceğimiz bir key atamak. Bu key sayesinde 2.Activitymizden veriye ulaşabileceğiz. İkincisi ise verimizin alacağı string değer. Bunları el ile vermek yerine sabit tanımlayacağınız ya da dinamik olarak değişecek string değişkenlerle de verebilirsiniz.
   
   startActivity komutu ile yukarıda belirlediğimiz intente göre yönlendirme yapıyoruz ve artık 2.Activitymize geçebiliriz.
   
   
   
[Seç][/url]public class VeriActivity extends Activity {
   
   private Bundle veriler;
   
   private String aktarilanVeri;
   
   @Override
     public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.veri_activity);
       
       
       veriler = getIntent().getExtras();
       
       aktarilanVeri = veriler.getString("key");
   
     }
   
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
       getMenuInflater().inflate(R.menu.activity_veri_activity, menu);
       return true;
     }
   
   
   
   }
   Şimdi verimizi nasıl aldığımızı açıklayayım.
   Diğer activityden verimizi bundle yardımıyla göndermiştik. Bu sayfadan da yine bundle yardımıyla alacağız. Bu yüzden "veriler" isminde bir bundle tanımlıyorum.
   
   
[Seç][/url]private Bundle veriler;
   Aldığımız veriyi tutacak bir de string değişkene ihtiyacımız olacak. Bunuda "aktarilanVeri" isminde bir String olarak tanımlıyorum.
   
   
[Seç][/url]private String aktarilanVeri;
   Bundle yardımıyla verimizi nasıl çekeceğimize bakalım
   
   
[Seç][/url]veriler = getIntent().getExtras();
   Artık veriler elimizde, şimdi yapmamız gereken önceki Activity de belirlemiş olduğumuz key ile verimizi atamak.
   
   
[Seç][/url]aktarilanVeri = veriler.getString("key");
   Evet verimizi bir activityden başka bir activitye başarılı bir şekilde aktarmış olduk. Bu string ifadeyi istediğiniz her yerde kullanabilirsiniz.
   
   Yazı tamamen bana aittir lütfen paylaşırken kaynak belirtiniz.
   
   Kaynak: Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap
                     
                  
                  

Linkback: Android Programlama - Activity Geçişleri ve Veri Transferi
  • Gösterim 1,434 
  • Android Eğitim
  • 0 Yanıtlar




Paylaş whatsappPaylaş facebookPaylaş linkedinPaylaş twitterPaylaş myspacePaylaş redditPaylaş diggPaylaş stumblePaylaş technoratiPaylaş delicious

Benzer Konular (5)


İçerik sağlayıcı paylaşım sitesi olarak hizmet veren Replikacep.com sitemizde 5651 sayılı kanunun 8. maddesine ve T.C.Knın 125. maddesine göre tüm üyelerimiz yaptıkları paylaşımlardan kendileri sorumludur.Replikacep.com hakkında yapılacak tüm hukuksal şikayetleri İletişim sayfamızdan bize bildirdikten en geç 3 (üç) iş günü içerisinde ilgili kanunlar ve yönetmelikler çerçevesinde tarafımızca incelenerek gereken işlemler yapılacak ve site yöneticilerimiz tarafından bilgi verilecektir.
Footer menü
Hakkımızda
Bize Ulaşın
Biz Kimiz
Hizmetlerimiz