Thread overview
Olayların (Events) veya Durumların (States) Yakalanması Nasıl Oluyor?
Jun 06, 2016
İbrahim
Jun 06, 2016
İbrahim
June 06, 2016

Selamün Aleyküm;

Gerek mobil gerek masaüstü yazılımlarında bir çok olay yakalama mekanizması bulunuyor: onclicked, keypressed vs. ve Android gibi mobil uygulamalarda Activity'leri (yani bildiğimiz pencereler) onCreate, onStart, onResume, onPause, onStop ve onDestroy gibi mekanizmalar sayesinde pencere oluştuğunda, arkaplana atıldığında vs. durumlarda işlem yaptırabiliyoruz (Android Activity Durumları: https://developer.android.com/reference/android/app/Activity.html). Sormak istediğim ise bu clicked, keypressed vs. ve onCreate, onStart vs. durumların çalışma mekanizmalarının nasıl çalıştığı. Yani bu gibi olayları nasıl yakalıyorlar? Biz bir butonun tıklanma olayını almak istediğimizde clicked gibi fonksiyonlar kullanıyoruz ya da Activity'yi arkaplana attığımızda onPause metodunu kullan diyoruz ama bunlar nasıl çalışıyor, yazılımcılar bunları nasıl algılatıyorlar?
Yapmak istediğim şey Qt kullanarak tüm işletim sistemlerinde çalışan, pencerelerin durumlarını (onStart vs.) algılayan bir mekanizma oluşturmak. Lakin bunun mantığını bilmiyorum, internette aratınca win32 api vs. button clicked olayları veya onCreate metotlarının kendileri çıkıyor. Benim anlamak istediğim ise bunları nasıl algılatıyorlar? Mesela ben farenin sol tuşu ve sağ tuşunun beraber basıldığındaki olayı oluşturabilir miyim (on_left_and_right)? Ya da pencerenin ilk oluşturulduğu durumu (onCreate) ve arkaplana düşmesindeki durumu (onPause) kendim bu fonksiyonları yazmak için neleri öğrenmeliyim ya da ne yapmalıyım?

Araya sıkıştırayım: bu sınıflarda üye değişkenlere falan isim verirken mesela str yerine mStr ya da service yerine mService diye m harfini ön ek olarak getiriyorlar, bu m burada ne ifade ediyor?

Teşekkürler.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

June 06, 2016

Cevabınız için teşekkürler, teorik olarak anladım lakin buna dair ufak bir kaynak verebilir misiniz ya da bir örnek?
Ayrıca herhalde onCreate, onStop gibi metotlar da aynı mantıkta çalışıyor o zaman.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

June 06, 2016
  • Donanım, bilgi üretiyor. Örneğin, farenin tuşuna basılınca bir elektrik sinyali geliyor.

  • İşletim sistemi donanımdan gelen bilgiyi kesme (interrupt) olarak yakalıyor ve kendi "FARE_TUŞUNA_BASILDI" diye bir sayıya (örneğin, 42'ye) dönüştürüyor.

  • Qt gibi çatılar sistemine "falanca kesme gelince şu işlevimi çağır" diyor. Gerekirse, o tuşun basıldığı konuma göre QT_PENCERE_KAPATILDI diye bir sayı (örneğin, 1001) üretiyor.

  • Program Qt gibi çatıya "ben bu döngüde bekleyip senden ne olup bittiği bilgisini alacağım" diyor. Kendisi, örneğin QT_PENCERE_KAPATILDI üretildiğinde ona uygun işlem yapıyor.

Üye değişkenlerin başına gelen m harfi "member"ı temsil eder. Anlaşmalara bağlı olarak Str, Str, veya olduğu gibi Str gibi isimler de verilebilir.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]