Forum: Diğer Konular RSS
Olayların (Events) veya Durumların (States) Yakalanması Nasıl Oluyor?
İbrahim #1
Üye Eki 2015 tarihinden beri · 156 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: Olayların (Events) veya Durumların (States) Yakalanması Nasıl Oluyor?
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/Activi…). 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 mesaj İbrahim tarafından değiştirildi; zaman: 2016-06-06, 04:41.
acehreli (Moderatör) #2
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
  • 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
İbrahim #3
Üye Eki 2015 tarihinden beri · 156 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
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.
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-11-21, 13:14:51 (UTC -08:00)