PyS60 Uygulama Gelişimi – 1

Başlamadan önce python ile fonksiyon kullanımı konusunda bilgi edinmenizi öneririm. Modüler programcılığın getirdiği kolaylıkları sonuna kadar kullanacağız.

Önceki yazılarımda aslında yaptığımız her bir örnek sonuçta bir uygulamaydı. Burada bu uygulamaları telefonun yapısına adapte etmeye başlayacaz ve yavaş yavaş telefonun özelliklerini kullanacaz. S60 serisi telefon kullanan arkadaşlar telefondaki uygulama yapısı ile sürekli karşılaşmaktalar gelin gözümüzde canlandıralım.(yada yukarı bakın :D)

Başlık – appuifw.app.title
Bildiğiniz uygulamanın başlık alanıdır, hemen altında sekmeler vardır.
Gövde – appuifw.app.body
Uygulamanın ortasındaki geniş alan gövdedir. İçersinde kullanıcı arayüzünde kullandığımız çeşitli uygulamalar olabilir örneğin query(), note() fonksiyonlarındaki örnekler.
Menü – appuifw.app.menu
Sol alt köşede menü öğesi vardır
Çıkış – appuifw.app.exit_key_handler
çıkış değişkeni

Şimdi bir örnek yazalım ve bu özelliklerden bazılarını kullanalım.


import appuifw, e32

def quit():
print"Çıkış tuşuna basıldı"
app_lock.signal()

appuifw.app.exit_key_handler = quit
appuifw.app.title = u"ilk uygulama"
appuifw.note(u"uygulama şuan çalışıyor")

app_lock = e32.Ao_lock()
app_lock.wait()
print "uygulamadan çıkıldı"

Bu sefer appuifw’nin yanında e32 modülünüde import ettik. Bu modül düşük seviyeli telefon fonksiyonlarını içerir. quit isimli bir çıkış fonksiyonu tanımladık ardından başlığı ve uygulamada görüntülenecek yolu yazdık. İlk önce fonksiyonları incelemenizi bu yüzden istemiştim çünkü burada çıkış işini bir fonksiyon tanımlayarak yaptık. Pythona hangi fonksiyonun çıkış işini yaptığını exit_key_handler değişkenini quit fonksiyonunun ismiyle eşitleyerek gösterdik. PyS60 da böyle spesifik işleri yapan fonksiyonlara geri çağırma fonksiyonları deniyor(callback) ben ingilizce ifadesini kullanacam. Şimdi neden e32 modülünü yükledik onu açıklıyayım. Normalde bir kod yazdığınızda python satır satır ilerler ve sonunda hepsini işleyip uygulamayı kapatır. Buradaki örnekte biz kullanıcı istediğinde çıkmasını istiyoruz o zamana kadar program beklemede kalmalı. İşte bu yüzden wait() fonksiyonu ile uygulamayı beklemeye almış oluyoruz. signal() fonksiyonu gelene kadar bu şekilde beklemede kalır biz basit bir uygulama yazdığımızdan bu signal fonksiyonunu quit fonksiyonun içine yerleştirdik. wait() kullanılmadan neler olacağını silip görebilirsiniz 🙂 Bir sonraki yazıda menü fonksiyonlarından devam edecez.