Mlliyet Milliyet Blog Milliyet Blog
 
Facebook Connect
Blog Kategorileri
 

12 Ocak '07

 
Kategori
Telekom / Mobil
 

Cep telefonu programcılığı

Cep telefonu programcılığı
 

Gün geçtikçe cep telefonu ile bir bilgisayar arasındaki çizgi gittikçe incelmekte. Bu noktada cep telefonunda çalışan uygulamaların değeri gün geçtikçe artmakta. Bir bilgisayar programcısı olarak cep telefonu programcılığı bu nedenle bir süredir ilgimi çekiyor. Son bir aydır edindiğim bilgileri bu yazımda paylaşmak istiyorum. Bu nedenle bu yazı oldukça teknik içerikli bir yazıdır.

Cep telefonu programcılığı için temel olarak Java, Symbian işletim sistemi veya Microsoft platformlarından birini seçebilirsiniz. Seçmiş olduğunuz platform, doğal olarak çözüm ürettiğiniz cep telefonu marka aralığını da ortaya koymuş olacaktır.

Ben temel olarak taşınabilirlik felsefesini ilk günden beri ortaya koyan Java platformunu tercih ettim başlangıç olarak. Bunda Java diliyle ilgili deneyimli olmam da önemli bir etkendi. Netice itibariyle bir miktar araştırmadan sonra, Java dilinin geliştiricisi Sun firmasının geliştirdiği emülatör yazılımını, Java Runtime Environment ile birlikte yüklemem gerektiğini anladım. Sözünü ettiğim emülatörün tam isim ve sürümü sun_java_wireless_toolkit-2_5-beta2-windows.exe ve bu yazılımı çalıştırmak için gerekli geliştirme ortamının sürümü jdk-6-windows-i586.exe şeklindedir. Bir arama motorundan bu isimleri yazarak doğrudan download sitelerine ulaşabilirsiniz.

Java Wireless Toolkit (JWT) yüklendikten sonra beraberinde gelen en önemli yazılım, programlar menüsünden ulaşacağınız "CLDC KToolbar" yazılımıdır. Bu yazılım üzerinden yazacağınız Java kodunu cep telefonuna uygun olarak derleyebilir ve çalıştırabilirsiniz.

JWT beraberinde demo program örnekleriyle gelmektedir. Başlangıç aşamasında önereceğim en önemli iki demo, varsayılan olarak C:\WTK25-Beta2\apps yoluna yüklenen UIDemo (user interface demo) ve Photoalbum örneğidir. UIDemo üzerinden temel görsel öğelere ilişkin kod örneklerini görebilir ve inceleyebilirsiniz. Aslında JWT'nin dokümantasyon sayfasında (C:\WTK25-Beta2\index.htm) hem kullanıcı kılavuzu, hem MIDP kütüphane tanımları oldukça anlaşılır. Buraları da inceleyebilirisiniz.

Özetle CLDC KToolbar yazılımından New Project dediğiniz ve \src klasörü altına kılavuzda izah edildiği şekilde Java Midlet kodunu yerleştirdiğiniz takdirde projeniz öz olarak hazır demektir.

Yapmış olduğunuz programı Project menüsünden "Create Project" diyerek paketleyebilirsiniz. Ortaya \bin klasörünün altında uzantısı .jad ve .jar olan iki adet dosya çıkacaktır. Bu dosyaları bluetooth ile cep telefonunuza aktarmanızın ardından, teorik olarak .jad dosyasının üzerine gelince otomatik olarak "Yükle" veya "Kur" şeklinde bir seçeneğin gelmesi gerekiyor. Bu seçeneği seçmeniz, programı kurmanız ve cep telefonunuzun Uygulamalar veya Oyunlar bölümü altında kullanabilmeniz anlamına geliyor.

Gelelim pratiğe. Benim cep telefonum Ericsson K750i. İlk olarak oluşturduğum .jar ve .jad dosyalarını kendi bilgisayarımın bluetooth özelliğini kullanarak telefona aktarmak istediğimde bir türlü başarılı olamadım. Başarılı bir şekilde aktarmam için telefonumla birlikte gelen "Sony Ericsson PC Suite" yazılımını kurmam ve onu kullanarak aktarmam gerekti.

Bu süre zarfından gerçekten çok eğlenceli bir şekilde bir adet cep sınavmatik programı ve bir adet de sözlük programı geliştirmeyi başardım. Sözlük programı İngilizce-Türkçe (35 bin kelime) ve Türkçe-İngilizce (65 bin kelime) olmak üzere iki seçeneğe sahip. İnternette bir forum sitesinden bulduğum veri tabanını geliştirdiğim uygulama tarafından yararlı hale getirmek için txt formatına aktarmam gerekti. İlk düşüncem çağrışımlı (recursive) bir fonksiyon tanımlayarak en geç 9-10 kademede aranan kelimeye ulaşmaktı.

Her ne kadar geliştirmesi çok zor olan bu kod parçacığını yazmayı başarsam da, cep telefonu için bunun uygun olmayan ağır bir çözüm olduğunu farkettim. Malumunuz, çağrışımlı fonksiyonlar çok fazla kaynak tüketirler. Ben de ister istemez txt dosyasını 80-90 parçaya böldüm. Program, aranan sözcüğün ilk iki veya üç harfine bakarak hangi dosyayı seçmesi gerektiğine ona göre karar veriyor. İlgili dosyayı seçtikten sonra ise onun üstünde düz mantıkla baştan sona arama yapıyor. Programda en önemli sorunlardan biri de, 'ç', 'ş' gibi karakterlerin düzgün işlenmesini sağlamaktı; bu noktada da ister istemez bazı cambazlıklar durumunda kaldım.

Sözlük programı bunun yanında ayrıca bir de Sözcük Oyunu modülüne sahip. Bu modülü çalıştırmanızla birlikte program size rasgele bir sözcük getiriyor, ardından ikinci basışınızda o sözcüğün anlamını. Böylece eğlenceli bir şekilde sözcük dağarcığınızı geliştirebilirsiniz.

Sınavmatik programı ise örneğin sınav kitaplarının yan ürünü olarak oldukça kullanışlı çözümler getirebilir diye düşünüyorum.

Gelelim en önemli bölüme. Yaptığım programları henüz kendi kullandığım telefon modelinin dışında başka bir telefonda başarıyla çalıştıramadım. Bu konuda tam olarak ne yapmam gerektiğini henüz ben de tam olarak bilmiyorum.

Ancak son yaptığım bir internet taramasında, JBuilder X isimli programın, hem çok güzel bir geliştirme ortamı sağladığını hem Nokia SDK dahil çeşitli uygulama kitlerini desteklediğini, hem de JWT ile uyumlu olduğunu gördüm. Ancak henüz bu konuda somut bir adım atma fırsatı bulamadım. Zaten cep telefonu programcılığına bir miktar ara verip, benim müzmin parser yani cümle ayracı programımla ilgilenmeyi düşünüyorum bir miktar artık.

Sonuç olarak cep telefonu programcılığı inanılmaz eğlenceli bir konu. Hali hazırda kendi kendine hizmet veren bir bilgisayar programcısı rolünden öteye gidememiş olsam da, çok güzel bir başlangıç yaptığıma ve güzel bir birikim yakaladığıma inanıyorum. Bu noktada benimle paylaşacağınız bilgi ve/veya her türlü soruya tabi ki açığım.

Size de bol cep uygulamalı günler :)

 
Toplam blog
: 72
: 1949
Kayıt tarihi
: 11.10.06
 
 

Yazar 1975 Ankara doğumludur. Monterey Postgraduate School / California'da bilgisayar bilimi dalı..