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
    • 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
    • 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

  • Uydu alıcısı tavsiyesi
  • 2500TL manyetik klavye önerisi
  • R7 9800x3D ve RTX 5080'li sistem önerisi
  • R7 3700X sisteme yükseltme önerisi
  • Kış için mont önerisi
  • iPhone 17 serisi farklı ekran panelleri kullanıyor
  • Bir zam da Spotify’dan geldi!
  • Blazer mid 77 hangi numara tercih edilmeli?
  • Wraith Spirit of Aim mouse pad alınır mı?
  • FC 26 indirim beklenmeli mi ne zaman indirime girer?

Technopat Video

Şu an oynayan

Apple’ı 20’ye katlayan saat! Huawei Watch GT 6 Pro incelemesi

Huawei Watch GT 6 Pro

Apple’ı 20’ye katlayan saat! Huawei Watch GT 6 Pro incelemesi

Akıllı Saat
Technopat ofisi Eylül ayında neler aldı? 

Technopat ofisi Eylül ayında neler aldı? 

Giyilebilir Teknoloji
Gigabyte AORUS FO27Q5P: 500 Hz QD-OLED ile rekabetçi oyunculara özel monitör

Gigabyte AORUS FO27Q5P: 500 Hz QD-OLED ile rekabetçi oyunculara özel monitör

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}
Onayı Yönet
En iyi deneyimleri sunmak için, cihaz bilgilerini saklamak ve/veya bunlara erişmek amacıyla çerezler gibi teknolojiler kullanıyoruz. Bu teknolojilere izin vermek, bu sitedeki tarama davranışı veya benzersiz kimlikler gibi verileri işlememize izin verecektir. Onay vermemek veya onayı geri çekmek, belirli özellikleri ve işlevleri olumsuz etkileyebilir.
Fonksiyonel Her zaman aktif
Teknik depolama veya erişim, abone veya kullanıcı tarafından açıkça talep edilen belirli bir hizmetin kullanılmasını sağlamak veya bir elektronik iletişim ağı üzerinden bir iletişimin iletimini gerçekleştirmek amacıyla meşru bir amaç için kesinlikle gereklidir.
Tercihler
Teknik depolama veya erişim, abone veya kullanıcı tarafından talep edilmeyen tercihlerin saklanmasının meşru amacı için gereklidir.
İstatistik
Sadece istatistiksel amaçlar için kullanılan teknik depolama veya erişim. Sadece anonim istatistiksel amaçlar için kullanılan teknik depolama veya erişim. Mahkeme celbi, İnternet Hizmet Sağlayıcınızın gönüllü uyumu veya üçüncü bir taraftan ek kayıtlar olmadan, yalnızca bu amaçla depolanan veya alınan bilgiler genellikle kimliğinizi belirlemek için kullanılamaz.
Pazarlama
Teknik depolama veya erişim, reklam göndermek için kullanıcı profilleri oluşturmak veya benzer pazarlama amaçları için kullanıcıyı bir web sitesinde veya birkaç web sitesinde izlemek için 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 görüntüle
{title} {title} {title}
Sonuç bulunamadı
Bütün Sonuçları Göster
  • Giriş
  • Teknoloji Haberleri
  • Sosyal
  • Video
  • Tavsiyeler
  • İncelemeler
    • Video İncelemeler
  • Güvenlik
  • Oyun
  • Makale
    • Pratik
    • Yazar Köşeleri

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