T.C. HARRAN ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ PROJESİ DERSİ KABUL RAPORU J2ME İle Cep Telefonu Oyun Programlama Proje Yöneticisi: İsim: A.HALUK İLTAŞ Numara: 060504008 Proje Rapor Tarihi : Proje Danışmanı :NURETTİN BEŞLİ Projenin Amacı ve Faydaları: Javalı cep telofonları giderek yaygınlaşıyor. Yakında Türkiye'de telofonların çoğu java destekli olacak. Bu yazılım şirketleri için büyük bir pazar demek. Çünkü insanlar cep telofonlarına çeşitli programlar indirmek isteyecekler. İşte java burada devreye girmekte. Java programlari cep telofonlari ile wap üzerinden indirilebilmekte ve kurulabilmekte. Kullanıcının yapması gereken wap adresi yazmak o kadar. Gerisini cep telofonu halletmekte. Bu sıradan, bilgisayardan anlamayan insanların da telofonlarına program kurabileceği anlamına geliyor. Özellikle javayı bilenler için müthiş bir fırsat. Türkiye'de maalesef Cep telefonlarında java geliştirmek için pek fazla çaba yok. Hatta türkçe kaynak bile bulamazsınız. (http://www.godoro.com hariç) http://www.godoro.com bu konuda çok az sayıda örnek ve makale içermesine rağmen Türkiye'de en fazla içerik sunan site durumuna geldi. Neden sadece java. Aslında telofonların bazıları bazı dilleri destekliyor. Örneğin Symbian yüklü olan telefonlarda C++ ile program geliştirebilirsiniz. Ancak yaptığınız program sadece bir kaç telefonda çalışabilir. Halbuki java ile yaptığınız bir program java destekli tüm telefonlarda çalışır. Her telofonda farklı çalışabilir. Bazı sorunlara neden olabilir. Ancak iyi bir programci bu sorunların bir çoğunu halledebilir. Tabiki her sorun halledilemez. Örneğin büyük ekran gerektiren bir oyun yaptıysanız bu küçük ekranli bir telefonda düzgün gözükmez. Aslında yaptığınız program çalışır ancak kullanışsız olur. Bunun yerine platformun özelliklerine göre ayni program değiştirilebilir. Diğer dillerlerle bu tür şeyler yapmak imkansızdır. Java programlama dili bende geleceğe yönelik olumlu etki bıraktığı için küçük bir oyun uygulaması ile işe koyulmaya karar verdim. Bu işin zevkli ve çok faydalı olacağına inanıyorum. Oyunun getireceği yararlar konusuna değinecek olursam , piyasada telefonlar için çok değişik oyunlar var , dolayısıyla benim yapacağım bu oyunun kimseye bir getirisi olmayacak ancak bu yönde ileriki aşamalar için adım olacağından iyi bir temel oluşturacaktır benim için. Projede Kullanılacak Metod ve Yazılım Dilleri: Java programlama dili bilgisayar dünyasında önemli bir yer teşkil etmektedir. Nesne tabanlı programlama özelliği, yazılan programın değişikliğe uğraması ya da yeniden derlenmesi gerekmeden farklı yapıdaki bilgisayar sistemlerinde kullanılması gibi özellikler Java dilinin popülerliğini sağlayan önemli özelliklerin sadece birkaçıdır. İlk geliştirilme amacı SUN Microsystem şirketinin içinde ortak bir dil kullanılması olan ve o zamanki adı OAK olan Java dili, kısa zamanda dünya çapında yoğun olarak kullanıma girmiştir. Javanın kullanıldığı yerler, basit bir ev bilgisayarlarından, en karmaşık sistem sunuculara kadar değişen bir yelpazede yer almıştır. Tüm programlama dilleri ve geliştirme ortamları gibi Java da ilk çıktığı günden bu yana gelişmiştir. Java’nın ilk çıkışından itibaren pek çok özellik ve yetenek Java’ya eklenmiştir. Java platformu 3 sürüme ayrıldı: 1 Java 2 Standart Edition (J2SE) 2 Java 2 Enterprise Edition (J2EE) 3 Java 2 Micro Edition (J2ME) Bu sürümlerden üzerinde duracağımız J2ME ‘dir. Java 2 Micro Edition (J2ME) Java 2 Micro Edition veya J2ME, Java yazılımlarını elektronik ve gömülü cihazlara yerleştirebilmek için dizayn edilmiş geliştirme ve çalıştırma ortamıdır. Diğer daha büyük Java sürümleri gibi, Java 2 Micro Edition’ın amacı ürünler arasındaki uyumluluk, kodun taşınabilirliği, güvenli ağ yapısı ve ölçeklenebilirliğin arttırılması gibi Java teknolojisinin özelliklerinin sürdürebilmektir. Hayatta pekçok şeyde olduğu gibi bir boyut herşeye uymaz. Doğal olarak mainframelerden cep telefonlarına kadar herşeye uyan bir Java platformu pek pratik olmaz. J2ME Java dilini kişisel bilgi, iletişim ve hesap makinalarına yerleştirmiştir. Genellikle bu cihazlar geleneksel bilgisayarlardan daha küçük ve daha az güçlüdürler. J2ME’nin geliştirilmesine Sun tarafından başlanılmıştır, fakat günümüzde dünyanın en büyük elektronik ve gömülü cihaz üreticileri tarafından desteklenmektedir. Dünyanın mobil ve kablosuz teknoloji satıcıları J2ME teknolojisini inceliyorlar veya aktif olarak katılıyorlar veya yarışan ürünler üzerinde çalışıyorlar. Bu destekleyiciler Sun tarafından geliştirilen J2ME’yi standartlaştırmak için bir topluluk oluşumu başlattılar. Bu oluşum Java Community Process olarak adlandırıldı ve J2ME’nin ilerlemesinde önemli rol oynadı. J2ME veya diğer Java uygulamalarının çalıştığı platformlara genel olarak “cihaz” denilir. J2ME için bu cihazlar “küçük cihazlar ” başlığı altında toplanır. Bu cihazları başka sözcüklerle de ifade edebiliriz: bilgi cihazları, tüketici elektronikleri, gömülü cihazlar gibi. Bu “küçük cihazların” geniş çeşitlerini tanımlamak önemlidir ve asıl önemli olan bu küçük cihazların J2ME’nin hedef cihazları olduğudur. Güvenlik nedenleri ile standart “Java RuntimeEnvironment”, “class” dosyalarını belleğe yüklemeden önce doğrulama işleminden geçirir. Bu doğrulama işlemi, “class” dosyasının geçerli olup olmadığının anlaşılması için gerçekleştirilir. Sınıfları derlenen ve doğrulama işlemi gerçekleştirilen uygulama çalıştırılmaya hazırdır. Uygulamanın çalıştırılabilmesi için bir emülatöre ihtiyaç vardır. “MIDP Referans Gerçekleştirimi” de bir emülatördür. Emülatörün çalıştırılabilir ismi, “midp” dir ve midpfcs\bin” dizini altında yer almaktadır. Bunun için çeşitli başka emülatörler de vardır.Örnek verecek olacaksak; Symbian işletim sistemli telefonlar için vNES-Nitendo emülatör, Sun firmasını ürettiği s60 v3 vSun oyun emülatörü gibi. Projenin Tanımlanması: Java programalama dili günümüzün en popüler programlama dillerinden birisidir. Java dili pek çok özelliğiyle her platformda kullanılan bir programlama diline dönüşmüştür. Java 2 Micro Edition (J2ME) ise elektronik ve gömülü cihazlarda Java uygulamalarını çalıştırmak için dizayn edilmiştir. Projenin konusu “Mobil araçlarda oyun programlama gerçekleştirimi ”dir. Projenin araştırma kısmında J2ME ortamı , MIDP programlama, telefon üzerinde bilgilerin nasıl saklanacağı, XML ayrıştırma, hangi programlama çevresi kullanacağımız konusunda araştırma yapılacaktır.Ayrıca Emülatör programı kullanımı hakkında araştırma yapılacaktır.Proje sonucunda elde edinilecek bilgiler; J2ME ortamının tanınması , MIDP programlamanın yapılması ve ilgili bilgilerin kazanılması cep telefonu üzerinde verilerin aktarılması ve depolanması ,emülatör programının kullanımı gibi bilgi kazancı elde edilecektir. 1.Proje Planı: a. Bölümlere Ayrılması: Birinci Bölüm: Oyun Programlama İle İlgili Temel Bilgilerin Edinilmesi ve Öğrenilmesi İkinci Bölüm: Sınıfların ve Arayüzün Oluşturulması Üçüncü Bölüm: Oyunun Tasarlanma ve Bitirilme Aşaması. b. Görev Dağılımı: Proje Plan Tablosu No Bölümün Adı Kim Tarafından Süresi Başlangıç Yapılacağı (Hafta) Zamanı 1 1. Bölüm A.Haluk İLTAŞ 3 1. Hafta Başı 2 2. Bölüm A.Haluk İLTAŞ 4 4. Hafta Başı 3 3. Bölüm A.Haluk İLTAŞ 4 8. Hafta Başı Projenin Başlangıç Zamanı: 01.03.2010 ; Projenin Bitiş Zamanı:28.05.2010 Bölümlerin Hazırlanma Sıraları Hazırlayacak Kişi A.Haluk İLTAŞ Bölüm Sırası (Bölüm Numaraları Sıralanmıştır) 1–2–3 Bitiş Zamanı 3. Hafta Sonu 7. Hafta Sonu 11. Hafta Sonu Gantt Şeması 1 A.Haluk İLTAŞ Projenin Bölümleri Kişi Bölüm Bölüm No No 2 P G P G P 3 G Zaman (Hafta) 1 2 3 4 5 6 7 8 9 10 11 12