Android Programlama Ders 23: Task nedir? Ve nasıl oluşuyor? - Technopat
Sonuç bulunamadı
Bütün Sonuçları Göster
Teknoloji tutkunu Technopatların ortak adresi: Technopat.net
  • Haber
  • Yapay Zeka
  • Tavsiyeler
  • Oyun
  • Video
  • Teknoloji
    • Mobil
    • Nasıl Yapılır
    • Yazılım
    • Elektronik Alışveriş Fırsatları
    • Pratik
    • Ev Teknolojileri
    • Makale
    • Güvenlik
    • Ekonomi
    • İnternet
    • Giyilebilir Teknoloji
    • Sağlık
    • Yazıcı
    • Sosyal Medya
    • Otomobil
      • Elektrikli Otomobil
  • Sosyal
Teknoloji tutkunu Technopatların ortak adresi: Technopat.net
  • Haber
  • Yapay Zeka
  • Tavsiyeler
  • Oyun
  • Video
  • Teknoloji
    • Mobil
    • Nasıl Yapılır
    • Yazılım
    • Elektronik Alışveriş Fırsatları
    • Pratik
    • Ev Teknolojileri
    • Makale
    • Güvenlik
    • Ekonomi
    • İnternet
    • Giyilebilir Teknoloji
    • Sağlık
    • Yazıcı
    • Sosyal Medya
    • Otomobil
      • Elektrikli Otomobil
  • Sosyal
Sonuç bulunamadı
Bütün Sonuçları Göster
Teknoloji tutkunu Technopatların ortak adresi: Technopat.net

Anasayfa - Makale - Pratik - Android Programlama Ders 23: Task nedir? Ve nasıl oluşuyor?

Android Programlama Ders 23: Task nedir? Ve nasıl oluşuyor?

25 Aralık 2013 - 17:30
- Mobil, Pratik

Android programlama öğrenmeye devam ediyoruz. Bu derste Task (görev) nedir ve nasıl oluşturulur konusuna değineceğiz. Sonra Activity (etkileşim) Paused durumundan bahsedeceğiz.

Derslerimizde Activity’nin görünmediği zaman nerede sakladığınından bahsedeceğiz. Back (Geri) butonuna basıldığı zaman nereden aldığını öğreneceğiz. Task hakkında İngilizce kaynağı bu bağlantıda bulabilirsiniz.

Task.

Uygulamada birden fazla Activity (Etkileşim) olabileceğini biliyoruz. Ve etkileşimin Intent ve Intent Filter’si kullanarak başka etkileşimi çağırmasının mümkün olduğunu öğrendik. Şimdi Task hakkında konuşalım. Task nedir daha iyi anlamak için web tarayıcının çalışmasını örnek olarak alalım. Task sekme, etkileşim pencere ve link Intent varsayalım. İstediğiniz zaman Back (Geri) butona basıp geri dönebilirsiniz ama ileriye dönemezsiniz çünkü ilerdeki sayfa siliniyor. İleriye dönmek için yine linke (Intent) basmamız gerekecek. Eğer yeni bir şey açmak istiyorsanız yeni sekme açması gerekiyor. Ve sekmenin içinde linkleri kullanarak yeni pencereleri açabilirsiniz. Sonunda birkaç tane sekme oluşuyor. Bir çalıştığınız sekme önde (aktif) başkaları arka planda (pasifte) kalıyor.

Sonuçta web tarayıcının ve Android arasındaki benzerliği şöyle gösterebiliriz:

Tarayıcı – Android

Sekme – Task (Görev)

Pencere – Etkileşim (Activity)

Link – Intent

 

Task – Etkileşimlerin grubudur. Kullanıcı görevi (task) kullanarak belirli bir işlemi gerçekleşiyor. Görevi oluşturmak için genellikle başlangıç ekran – Ana ekran (Home).

Ana (Home) ekranda bulunduğu zaman uygulamalar listesinden veya kısa yoldan uygulamayı çalıştırabilirsiniz. Uygulamayı çalıştırdığınız zaman yeni Task oluşuyor ve MAIN (Ana) etkileşim (Activity) bu göreve kök (Root) olarak yerleştiriliyor ve Task ön plana çıkıyor. Task  sistemde arka planda olduğunda sistem Task’ı ön plana çıkartıyor. Yani görevi yeniden oluşturmuyor.

Activity_A  Activity_B çağırdığı zaman Activity_B Task’ta üst pozisyonu alır ve odaklanır. Activity_A Stopped durumunda Task’ta bulunuyor (Gözükmüyor ve odaklı değil). İlerde kullanıcı Back (Geri) butona bastığında Activity_B Task’tan siliniyor ve Activity_A üst pozisyona geçiyor.

Etkileşimler (Activity) hangi sırayla açılmışsa o sırayla Task’ta (Görevde) bulunur. Task’ta bulunduğu etkileşim grubu back stack isimlendiriyorlar. Back stack’ı kısaltalım stack (yığın) isimlendirelim.

Şema:

diagram_backstack[1]

 

Şemanın üst kısmında kullanıcının gördüğü pencereyi, alt kısmında Task’ın içeriğini görüyoruz. Yeni etkileşim açıldığı zaman etkileşim yığının en üstüne yerleştiriyor. Back (Geri) butona bastığında üst etkileşim siliniyor ve önceki etkileşim görüntülüyor.

Task’ta birkaç tane etkileşim olduğunu sayalım. Home butona bastığı zaman Task ve etkileşimler kaldırılmıyor. Task sadece arka plana geçiyor ve her zaman yeniden çağrılabilir.

Eğer aktif Task’ta birkaç defa Back butona basarsanız yığın (Stack) sonunda boş kalır ve kullanıcı Ana (Home) ekrana dönecektir.

Bu bilgileri bildikten sonra geçen dersten kalan soruya cevap verebiliriz. Soruyu hatırlatayım: neden ikinci aşamada MainActivity ekrandan kaybolduktan sonra bellekteydi ve üçüncü aşamada ikinci etkileşim ActivityTwo ekrandan kaybolduktan sonra yok edilmişti? Neden ikinci aşama istisnaydı? Şimdi neden olduğunu biliyorsunuz. Çünkü ikinci aşamada MainActivity etkileşim yığında kalmış ve ActivityTwo etkileşim yığın üstüne çıkmış ve odaklanmış. Üçüncü ve dördüncü aşamada etkileşimler yığından silindikten sonra Ana (Home) ekranı gördük.

Paused

Şimdi bir önceki dersten projeyi açalım: Project name: P0022_TwoActivityState. İstediğimiz şey etkileşimi paused durumunda yakalamak. Bu durum olduğu zaman etkileşim odaklı değil ve etkileşim kısmen görülebilir. Bu durumu yakalamak için Activity_Two dialog style (Dialog tarzı) ayarlayacağız. Bu etkileşim (Activity_Two) bir pop-up pencere olarak görüntülenecek ve aşağıda kısmen MainActivity etkileşimi görünür olacak. Bu durumda MainActivity etkileşimi Paused (Durduruldu) statüsünde olacak. Uygulayalım.

Bunu yapmak için AndroidManifest.xml dosyada, Application sekmede tr.androidApp.TwoActivityState.MainActivity’ye bir defa basıyor ve sağa tarafta Theme alanına   @android:style/Theme.Dialog kopyalıyoruz.

ThemeDialog

 

Kaydedelim ve çalıştıralım:

MainActivity çıkıyor.

Bildirimler:

MainActivity: onCreate()
MainActivity: onStart()
MainActivity: onResume()

ActivityTwo çağırıyoruz.

TwoActState

Bildirimler:

MainActivity: onPause()
ActivityTwo: onCreate()
ActivityTwo: onStart()
ActivityTwo: onResume()

Görüyoruz ki MainActivity etkileşim için onStop metodu uygulanmamış. Bu demektir ki uygulamamız Stopped durumuna dönmedi ve Paused durumunda bulunuyor.

Back (Geri) butona basıyoruz.

Bildirimler:

ActivityTwo: onPause()
MainActivity: onResume()
ActivityTwo: onStop()
ActivityTwo: onDestroy()

Bildirimler

 

MainActivity etkileşim onResume metodu kullanarak geri döndü, onStart metodu kullanmadı çünkü Stopped değil Paused durumundaydı.

Artık daha kapsamlı bir uygulama oluşturmak için yeterli bilgiye sahibiz. Gelecek derste fazla kilo ölçen bir uygulamayı yazmaya çalışacağız.

 

Etiketler: activityAndroid programlamaAndroid programlama dersleriBack stackHomeIntentIntent FilterLINKMainActivityPausedStackTaskweb tarayıcı
Paylaş3PaylaşTweetYollaPaylaş
Victor Cuiumju

Victor Cuiumju

Yorum Yap Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

RSS Technopat Sosyal

  • 4 bin TL'ye kadar B450M S2H için 1 TB SSD önerisi
  • RTX 3060 ne kadar eder?
  • Aula N-108 1+1 10W hoparlör 338 TL
  • RTX 5060 No Man's Sky oyununda 20-30 FPS veriyor
  • iPhone 17 Pro Max alınır mı?
  • RTX 5070 ile zaman zaman ekranda sarı veya turuncu çizgi çıkıp aniden kayboluyor
  • 22 yaşında sıfır bilgiyle bilgisayar mühendisliği okumak
  • ChatGPT hakkında ne düşünüyorsunuz?
  • Amazon'daki siyah Aula F75 tam olarak hangi switch?
  • Rekabetçi oyunlar için klavye önerisi

Technopat Video

Şu an oynayan

iOS 26.1 hangi yenilikleri getirdi?

iOS 26.1 hangi yenilikleri getirdi?

iOS 26.1 hangi yenilikleri getirdi?

Haber
Kriz kapıda! RAM ve SSD fiyatlarına büyük zam

Kriz kapıda! RAM ve SSD fiyatlarına büyük zam

Haber
Türkiye’nin konuşulmayan gerçeği: Operatör kazığı mı yiyoruz?

Türkiye’nin konuşulmayan gerçeği: Operatör kazığı mı yiyoruz?

Haber

Teknoloji tutkunu Technopatların ortak adresi: Technopat.net!

Güncel teknoloji, internet, donanım, yazılım, oyun ve daha fazlası haber, makale ve videolar ile Technopat’ta sizlerle.


01010100 01100101 01100011 01101000 01101110 01101111 01110000 01100001 01110100

Kategoriler

  • Yapay Zeka
  • Ev Teknolojileri
  • Makale
  • Video

Sosyal Medya

Bağlantılar

  • Hakkında
  • Haber
  • Video
  • Sosyal
  • Çerez Politikası
© 2011-2025 Technopat. Tüm Hakları Saklıdır.
Netse
Çerez Onayı
Web sitemizi ziyaret ettiğinizde, kullanıcı deneyiminizi daha iyi hale getirmek, hizmetlerimizi size daha etkin bir şekilde sunabilmek için çerezler (cookies) ve benzeri araçlar kullanıyoruz. Çerezler, internet sitesinin düzgün çalışmasını sağlamak, içeriği kişiselleştirmek, sosyal medya özellikleri sağlamak ve trafik analizi yapmak için kullanılan küçük metin dosyalarıdır. Çerezleri nasıl kullandığımız ve kişisel verilerinizi nasıl işlediğimiz hakkında daha fazla bilgi almak için çerez politikamızı ve kişisel veri politikamızı inceleyebilirsiniz.
Fonksiyonel Her zaman aktif
Teknik depolama veya erişim, sadece kullanıcının açıkça talep ettiği belirli bir hizmetin kullanılmasını sağlama amacıyla veya iletişimin elektronik iletişim ağı üzerinden iletilmesinin tek amacıyla yasal olarak kesinlikle gereklidir.
Tercihler
Teknik depolama veya erişim, abone veya kullanıcı tarafından istenmeyen tercihlerin depolanması yasal amacıyla gereklidir.
İstatistikler
Sadece istatistiksel amaçlarla kullanılan teknik depolama veya erişim. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Pazarlama
Teknik depolama veya erişim, reklam gönderimi için kullanıcı profilleri oluşturmak veya kullanıcıyı bir web sitesinde veya birden fazla web sitesinde benzer pazarlama amaçları için takip etmek amacıyla gereklidir.
  • Seçenekleri yönet
  • Hizmetleri yönetin
  • {vendor_count} satıcılarını yönetin
  • Bu amaçlar hakkında daha fazla bilgi edinin
Tercihleri yönet
  • {title}
  • {title}
  • {title}
Sonuç bulunamadı
Bütün Sonuçları Göster
  • Giriş
  • Teknoloji Haberleri
  • Sosyal
  • Nasıl Yapılır
  • Yapay Zeka
  • Video
  • Tavsiyeler
  • İncelemeler
    • Video İncelemeler
  • Güvenlik
  • Oyun
  • Makale
    • Pratik
    • Yazar Köşeleri

© 2025 Technopat
Sorularınız için Technopat Sosyal