Android Scripting ile Python

Yorum bırakın

20/06/2011 tarafından electrocoder

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:

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: