Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

Android Scripting ile Python

Android aslında sadece Java ve C++ dillerine destek verse de, dışardan geliÅŸtirilmiÅŸ “Scripting Layer for Android(SL4A)” isimli programla çoÄŸu yorumlanan dili sisteme kısıtlı eriÅŸimle de olsa kullanmanızı saÄŸlıyor. Åžimdilik Python, Perl, Lua,
JavaScript ve Shell desteği var. Bu dillerin interaktif yorumlayıcılarını kullanabiliyor veya kaydettiginiz programları çalıştırabiliyorsunuz.
Diğerlerini denemedim ancak, kullandığı Python sürümü biraz eski olmasına rağmen(2.6.2), dilin bütün kütüphanelerini sağlıyor.
Aynı zamanda her dil için de Android isimli bir modül sağlıyor. Bu modül ile telefonun genel bilgilerine erişebiliyor, basit işlemler yapabiliyor veya kullanıcıdan giriş alıp mesaj gösterebiliyoruz. Ama bana göre en büyük eksisi, tam anlamıyla GUI geliştirememek. Yine de basit programlar için yararlı.

Python ile SL4A kullanmak:

Öncelikle android modülünü import ediyor ve bir Android nesnesi oluşturuyoruz. Telefonla bütün iletişimimiz bu sınıf ile olacak.
1
2
>>> import android
>>> droid=android.Android(('192.168.2.99','59706'))
Sınıfı oluÅŸtururken verdiÄŸim parametre, telefonumun IP’si ve portu, SL4A ile telefonunuzda Server oluÅŸturduktan sonra bilgisayar ile baÄŸlanabiliyoruz. Ancak scripti telefona attığımızda sınıfı parametresiz olarak çalıştırmamız gerek.
Örneğin basitçe mesaj göstermek ve girdi almak:
1
2
3
4
5
6
7
8
>>> droid.makeToast("Merhaba")
Result(id=0, result=None, error=None)
>>> res=droid.dialogGetInput("Giriş Kutusu", "Buraya yazın")
#telefona gelen input'a kekik yazdım
>>> res
Result(id=13, result='kekik', error=None)
>>> res.result
'kekik'
Bir seçenek de isteyebiliriz:
1
2
3
4
5
6
7
8
9
>>> dialog=droid.dialogCreateAlert("Firefox mu Chromium mu?")
>>> droid.dialogSetItems(["Firefox", "Chromium"])
Result(id=16, result=None, error=None)
>>> droid.dialogShow() #Telefonda göründü
Result(id=17, result=None, error=None)
>>> droid.dialogGetResponse() #Firefox seçilirse
Result(id=20, result={'item': 0}, error=None)
>>> droid.dialogGetResponse() #Chromium seçilirse
Result(id=22, result={'item': 1}, error=None)
Telefon fonksiyonlarını da kullanabiliriz:
1
2
3
4
>>> droid.checkWifiState() #wifi açık
Result(id=30, result=True, error=None)
>>> droid.phoneCallNumber("4440444")
Result(id=31, result=None, error=None)
DiÄŸer özelliklerine de buradan ulaÅŸabilirsiniz:  SL4A API Reference

Not: WebView desteklemesi sayesinde yapabilecekleriniz sınırsız oluyor neredeyse, HTML ve JavaScript kullanabiliyorsunuz, kullanmadım ben daha, ama bununla biraz daha ciddi programlar geliştirilebilir sanki.
Bunu kullanarak LYS netlerinden MF3-4 puanını hesaplayan bir script yapmıştım, her ne kadar bir iki haftaya bitecek olsa da, belki kullanan olur :): puandroid.py (Çok kötü bir kodlama olduğunu biliyorum, rastgele telefondan yazdım, vakit olmadı güzelleştirecek :) ).
Küçük Python scriptleri için kullanışlı, sık kullandığınız hesaplamalar için veya sadece eÄŸlenmek için kullanılabilir, daha program geliÅŸtirilecek gibi deÄŸil :). Umarım yakında Android’e tamamen yetenekli bir Python desteÄŸi saÄŸlanır da(Ne yazık ki pek bir çalışma yok sanırım), tam anlamıyla uygulama geliÅŸtirilebilir Python ile.
Ä°yi eÄŸlenceler :).
İlgili Yazılar:

Yorum Gönder

0 Yorumlar

Ad Code

Responsive Advertisement