T.C. KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği Bölümü ANDROİD TABANLI DOKUMATİK EKRAN PANOSU 210267 Murat ÇAKIL 220716 Evren ATMACA Yrd. Doç. Dr. Yusuf SEVİM Ocak 2013 TRABZON Dış kapağın arkası boş T.C. KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği Bölümü ANDROİD TABANLI DOKUMATİK EKRAN PANOSU 210267 Murat ÇAKIL 220716 Evren ATMACA Yrd. Doç. Dr. Yusuf SEVİM Ocak 2013 TRABZON İç kapağın arkası boş BİTİRME PROJESİ ONAY FORMU Murat ÇAKIL, Evren ATMACA tarafından Yrd. Doç. Dr. Yusuf SEVİM yönetiminde hazırlanan “Android Tabanlı Dokunmatik Ekran Panosu” başlıklı lisans bitirme projesi tarafımızdan incelenmiş, kapsamı ve niteliği açısından bir Lisans Bitirme Projesi olarak kabul edilmiştir. Danışman : Unvanı Adı ve SOYADI ……………………………… Jüri Üyesi 1 : Unvanı Adı ve SOYADI ……………………………… Jüri Üyesi 2 : Unvanı Adı ve SOYADI ……………………………… Bölüm Başkanı : Unvanı Adı ve SOYADI ……………………………… Onay formu sayfasının arkası boş ÖNSÖZ Günümüzde mobil cihazlar teknolojiyle birlikte insan hayatını kolaylaştıran bir fonksiyona sahiptirler. İyi bir mobil cihazda, işletim sistemi donanımsal özellikleriyle bir bütün oluşturur. Bu çalışmada android işletim sistemi programlanarak dokunmatik ekran panosu projesinin gerçekleştirilmesi hedeflenmektedir. Çalışmalarımız boyunca bize destek olan ve projenin son halini almasında bize yol gösteren hocamız Sayın Yrd. Doç. Dr. Yusuf SEVİM‟e teşekkür ederiz. Ayrıca bu projeyi destekleyen Karadeniz Teknik Üniversitesi Rektörlüğü‟ne Mühendislik Fakültesi Dekanlığına ve Elektrik-Elektronik Mühendisliği Bölüm Başkanlığına içten teşekkürlerimizi sunarız. Hayatımız boyunca bize her türlü desteklerini hiçbir zaman esirgemeyen ailelerimize şükranlarımızı sunarız. Ocak, 2013 Evren ATMACA Murat ÇAKIL v Önsöz sayfasının arkası boş vi İÇİNDEKİLER Bitirme Projesi Onay Formu iii Önsöz v İçindekiler vii Özet ix 1. Giriş 1 1.1. Arm İşlemcisi 1 1.1.2. Arm İşlemci Serileri 1 1.2. Android 2 1.2.1. Android Programlayabilmek İçin Gerekli Yazılımlar 1.3. Android Programlamak İçin Gerekli Yazılımların Kurulumları 4 5 1.3.1. Eclipse IDE Programının Kurulumu 5 1.3.2. Android SDK Programının Kurulumu 9 1.3.3. Java Development Kit Programının Kurulumu 10 1.4. Android Çalışma Ortamının Oluşturulması 12 1.5. Projenin Açılış Ekranı 16 1.6. Ana Ekran 17 1.7. 1. Öğretim Ders Programı Ekranı 17 1.8. 2. Öğretim Ders Programı Ekranı 18 1.9. Ders Programı Tercih Ekranı 19 2. Duyurular Ekranı 20 2.1. İletişim Ekranı 21 2.2. Sınav Programı Tercih Ekranı 21 2.3. Launcher Hataları 22 2.3.1. Java Compiler Hatası 23 3. Sonuçlar 25 4. Problemin Tanımı Ve Varılmak İstenen Hedef 26 5. Katkılar 27 6. Yöntem 28 7. Çalışmalar 29 8. Çalışma Takvimi 30 vii 9. Araştırma Olanakları 31 10. Kaynaklar 32 11. Özgeçmiş 33 11. Standartlar Ve Kısıtlamalar Formu 34 viii ÖZET Bu projede; android tabanlı dokunmatik ekran panosu gerçeklenmiştir. Projenin işletim sistemi olan Android; Linux tabanlı bir işletim sistemi olmakla birlikte Linux sisteminin özelliklerinden dolayı oldukça gelişmiş düzeyde bir altyapı sistemine sahiptir. Bu proje yardımı ile öğrenci-öğretmen iletişimine yeni bir soluk getirerek, öğretmenle yüz yüze görüşme gereksinimini ortadan kaldıracak ve ürünün bizlere sağladığı kolaylıklar çerçevesinde interaktif iletişim mümkün kılınabilecektir. Projemiz öğrencilere söz konusu olan öğretmenin mevcut ders programı, sınav programı ve acil duyurularına da aynı arayüz üzerinden kolaylıkla erişme imkanı sağlayacaktır. ix x 1. GİRİŞ Bu kısımda hedeflenen sistemin gerçekleştirilmesindeki aşamalar, kullanılması düşünülen yazılımından kısaca bahsedilmiştir. Öncelikle mesaj panosunun donanımından bahsedilmiş, ardından kullanılacak yazılım hakkında bilgi verilmiştir. 1.1. Arm İşlemcisi İngiliz teknoloji firması olan ARM piyasada bulunan mikroişlemcilerin tamamına yakını ARM işlemci olmasına rağmen işlemci üretmemekle birlikte diğer işlemci üreticisi firmalar için çeşitli işlemci mimarileri tasarlayıp satmaktadır. Bu nedenle piyasa birçok marka ARM tabanlı işlemci ve bu işlemcileri kullanan ürün bulunmaktadır. Projede kullanılan Mini 2440 bordu 400 MHz Samsung ARM9 işlemcisi barındırıyor. ARM işlemcisi kullanımın avantajları genel olarak şöyle sıralanabilir. Daha basit kullanım imkanı sağlayan RISC mimarisine sahiptir. Daha az transistor kullanımı sayesinde diğer işlemcilere nazaran daha düşük güç tüketimi. Bütün işlemlerin RAM yerine registerler üzerinden yapılmasından dolayı daha basit ve kullanışlı komut seti kullanımı sağlar. RAM ise sadece kurulum ve yükle komutlarında kullanılmaktadır. Komutların basitliği ve kullanımı sırasında hangi komutun hangi işlem sırasında çalıştırılacağının belirlenebilmesi sayesinde daha basit algoritmalar yazılabilmesini sağlar. Bu özelliği de RISC mimarisinden gelmektedir. 32-bit işlemci olması nedeniyle aynı anda birden çok işlem yapabilmeyi sağlar. Ayrıca piyasada bulunan birçok firma ARM lisanıyla birbirinden farklı ürünler tasarlayabilmektedir. Bu da fiyat, performans ve tasarım açsından geniş bir ürün yelpazesine sahip olmasını sağlamaktadır. 1.1.2. ARM İşlemci Serileri ARM şirketinin mimari ailesini ele alırsak; Klasik ARM, Cortex M, Cortex R ve Cortex A işlemci serileri olarak dört ana ürün gurubuna ayrılmaktadır. 1 Klasik ARM işlemci serisi: ARM7, ARM9, ARM11 işlemcilerinin bulunduğu bu seri üretilen ilk ARM işlemci modelleridir. Basit donanımsal işlemlere cevap verebilmekle birlikte kullanımları da giderek azalmaktadır. Cortex R ve Cortex M serisi işlemciler: Gömülü (Embedded) sistemlerde, yani belli bir amaca yönelik düşük güç tüketimi ve düşük maliyetli (asansör, içecek otomatları, v.b.) işlemlerde kullanılan işlemcilerdir. Cortex embedded işlemciler şöyle sıralanabilir; Cortex-M0, Cortex-M1, CortexM3, Cortex-M4, Cortex R4, Cortex R5, Cortex R7. Cortex A serisi işlemciler: Yüksek performanslı ve ileri teknoloji gerektiren ürünlerde kullanılırlar. Hayatımızda genişçe yer eden akıllı cihazların hemen hepsi özellikle de mobil cihazlar bu seri işlemcileri kullanmaktadır. Bu seriyi Cortex A5, Cortex A8, Cortex A9 ve Cortex A15 gibi işlemciler oluşturmaktadır. Bu veriler ışığında piyasada ARM işlemci üreten firmalardan bazıları şunlardır. Apple, FreeScale, Hummingbird, Nvidia, Samsung, STMicroelectronics, Texas Instruments, Qualcomm. ARM işlemcilerle mikro denetleyici düzeyinde elektronik tasarımlar gerçekleştirebilir, Android, akıllı işletim sistemleri (iOS) ve Windows Mobile gibi yazılım geliştirme platformlarının yardımıyla yazılım geliştirebilir veya ARM development boardlar yani ARM geliştirme kartlarıyla uygulama yazılımları geliştirilebilir. 1.2. Android Android Linux çekirdeği tabanlı bir işletim sistemidir. Linux sisteminin özelliklerinden dolayı oldukça gelişmiş düzeyde bir altyapı sistemi vardır. Fakat bir takım ticari ve güvenlik anlaşmalarından dolayı bazı özellikleri sınırlandırılmıştır. Genel olarak bir Linux sisteminde bulunan belli başlı özellikleri bulundurmamasından dolayı tam olarak bir Linux işletim sistemi olarak kabul edilemez. 2005 yılında, mobil piyasasına girmek isteyen Google, Android işletim sistemini Open Handset Allience firmasından satın alarak geliştirmeye başladı. Google, Android işletim sisteminin serbest olmasını istedi ve kodların büyük çoğunluğunu Apache Lisansı altında yayınladı. Bu, isteyen herkesin kaynak kodları indirebilecek olması ve daha da fazlası 2 donanım üreticileri kendi uzantılarını Android‟ e ekleyip satması anlamına gelecekti. Sade ve bir o kadar da kullanışlı olan bu özellikler Android işletim sistemini daha çekici hale getirdi. Diğer firmalar o zamana kadar kendi işletim sistemlerini geliştiriyorlardı. Fakat çoğu firma akıllı telefon endüstrisini elinde tutan Apple ile rekabet edemiyorlardı. Şirketler hem rekabet etmek için hem de mobil sistemler için serbest ve açık kaynak kodlu bir işletim sistemi kullanmanın teknolojinin gelişmesine daha yararlı olacağı konusunda birleştikleri için cihazlarına Android işletim sistemini dahil ettiler. Android işletim sistemi aynı zamanda uygulama geliştirmek için daha kapsamlı bir seçenek sunduğu için diğer işletim sistemlerinden daha avantajlı konumda. Donanımın yanında uygulamalar, iyi bir akıllı telefon için en önemli özelliklerden bir tanesidir. Bu yüzden üreticiler İOS ile rekabet etmek için çareyi Android işletim sisteminde aramaktadırlar. İOS ve Android pazarın büyük bir kısmını elinde bulundurmakla beraber SQLite veri depolama, GSM telefon özelliği ve birçok medya formatı desteklemektedir. Ayrıca Bluetooth, WİFİ, 3G, 2 ve 3 boyutlu grafik özelliği sunmaktadır. Genel olarak Android işletim sistemi beş bölümdür. Bunlar: İşlemci (Linux Tabanlı) Android Sanal Makine Kütüphaneler Uygulama Çatısı Uygulama Tabakaları Android aynı zamanda iOS‟ da bulunan Apple store türünde Android marketi kullanıcılarına sunmakta, Android kullanıcıları Android market aracılığıyla sayısı giderek artan yüz binlerce, çeşitli uygulamalara erişebilme imkanı bulmaktadır. iOS işletim sisteminde uygulama geliştirebilmek için Mac işletim sistemine gereksinim varken, Android için Window veya Mac gibi herhangi bir platformda uygulama geliştirilebiliyor, ayrıca Android‟in tamamen açık kaynak kodlu bir işletim sistemi olması Android işletim sistemi için yazılım geliştirmeyi çok daha kolay bir hale getirmektedir. [1] 3 Tablo 1. Android sürümleri ve piyasaya çıkış tarihleri gösterilmiştir [2]. Kod Adı Çıkış Tarihleri Android 1.5 Cupcake 30 Nisan 2009 Android 1.6 Donut 15 Eylül 2009 Android 2.1 Eclair 26 Ekim 2009 Android 2.2 Froyo 20 Mayıs 2010 Gingerbread 6 Aralık 2010 Honeycomb 24 Şubat 2011 Ice Cream Sandwich 14 Kasım 2011 Android Versiyonları Android 2.3 Android 2.3.2 Android 2.3.3 Android 2.3.7 Android 3.0 Android 3.1 Android 3.2 Android 4.0 Android 4.0.2 Android 4.0.3 Android 4.0.4 1.2.1. Android Programlayabilmek İçin Gerekli Yazılımlar Android‟de program geliştirebilmek için Java yazılım dili kullanmak gerekmektedir. Java dilinde Android yazılım geliştirebilmek için öncelikle Java programı için gereken Eclipse Integrated Development Environment programı kurulmalıdır. Java programı ile gerçekleştirdiğimiz mobil cihazınızın uygulamalarını bilgisayar ile kontrolünü sağlayan Android System Development Kit programının var olması gerekmektedir. Ayrıca Java programı ile gerçekleştirdiğimiz mobil cihazınızın uygulamalarını bilgisayar ile kontrolünü sağlayan Android System Development Kit programını 4 çalıştırabilmek için de bilgisayarda Java geliştirme aracı olan Java Development Kit‟in bulunması gerekmektedir. 1.3. Android Programlamak İçin Gerekli Yazılımların Kurulumları Android programlama sürecinde gereken programların kurulumunda dikkat edilmesi gereken en önemli nokta indirilmesi gereken programın kullanılan işletim sisteminin türü ile uyumlu olmasıdır.İlk olarak bilgisayarın masaüstünde bulunan bilgisayarın ikonuna sağ tıklanıp özellikler kısmına gelindiğinde kullanılan işletim sistemi ve bilgisayar hakkında gerekli donanımsal bilgiler edinilebilir.Bu donanımsal bilgilerin içinde bulunan işletim sisteminin 32 bit veya 64 bit seçeneklerinden hangisi olduğu belirlenip kurulacak programların sistem türüne uygun olarak seçilmesi gerekmektedir. 1.3.1. Eclipse IDE Programının Kurulumu İlk olarak http://www.eclipse.org [3] linki aracılığıyla siteye ulaşılır. Şekil 1. Programın kurulumu için gerekli adımlar 5 Şekil 2. Eclipse downloads sayfasından uygun programın seçilmesi Anasayfadaki download linkine tıklayarak yukardaki şekilde görünen sayfaya ulaşılır. Bu sayfada Eclipse IDE for Java Developers sekmesinden işletim sistemine uygun indirme linki seçilip program indirilir. Şekil 1, şekil 2 ve şekil 3‟de Eclipse indirme aşamaları gösterilmiştir. 6 Şekil 3. Uygun işletim sisteminin seçilip yüklenmesi Ülkelerin bulunduğu coğrafi bölgeye göre verilen download linklerden uygun olanı seçilerek program indirilir. Şekil 4‟de bulunulan coğrafi konuma göre uygun linkin seçilmesi gösterilmiştir. Şekil 4. Bulunulan coğrafi konuma göre uygun linkin seçilmesi 7 İndirilen program dosyasından ecilpsec simgesine tıklanarak programın yüklenmesine başlanır. Şekil 5‟de programı indirdikten sonra kurulum yapılması gösterilmiştir. Şekil 5. Programı indirdikten sonra kurulumun yapılması Yükleme işlemi tamamlandıktan sonra programın her açılışında bir workspace seçilerek program çalışmaya hazır hale getirilir. Şekil 6‟da programın hazır hale gelmesi gösterilmiştir. 8 Şekil 6. Programın hazır hale gelmesi 1.3.2. Android SDK Programının Kurulumu Eclipse IDE for Java Devoloper programı kurulduktan sonra ikinci aşama olarak Andorid Software Development Kit programı kurulumu gerçekleştirilir. Aşağıdaki şekilde gösterildiği gibi http://developer.android.com/sdk/index.html [4] adresinde verilen kırmızı çember içindeki iki seçenekten istenilen program seçilerek bilgisayara indilir. Şekil 7‟de Android Software Development Kit uygulamasının siteden indirilmesi gösterilmiştir. 9 Şekil 7. Android SDK uygulamasının siteden indirilmesi 1.3.3. Java Development Kit Programının Kurulması Android programlayabilmek için gereken bir diğer program ise Java Development Kit kurabilmek programını http://www.oracle.com/technetwork/java/javase/downloads/index.html için [5] linki ile aşağıdaki sayfaya ulaşılır. Aşağıdaki şekilde mavi çember ile işaretlenmiş link tercih edilir. Şekil 8‟de Oracle sitesinden jdk programının indirilmesi gösterilmiştir. 10 Şekil 8. Oracle sitesinden jdk programının indirilmesi Aşağıda şekilde gösterildiği gibi tercih sayfasında bulunan program uzantıları arasından mavi ile çevrilmiş sekmelerden çalışacağımız bilgisayarın işletim sistemine uygun olanı tercih edilerek kurulum dosyasının bilgisayara indirilmesi gerçekleştirilir. Şekil 9‟da bilgisayarın işletim sistemine uygun yazılımın seçilmesi gösterilmiştir. 11 Şekil 9. Bilgisayarın işletim sistemine uygun yazılımın seçilmesi 1.4. Android Çalışma Ortamının Oluşturulması Yeni bir proje oluşturabilmek için Eclipse programından File→New→Android Project sekmeleri takip edilerek New Android Project penceresine gelinir.Eğer File→New sekmesinde Android Project seçeneği yoksa File→New→Other tercihi ile açılan Select a Wizard penceresi ile Android Project seçeneğine ulaşılır. Eğer program kurulumları doğru şekilde yapılmışsa File→New sekmeleri ardından Andriod Project sekmesine ulaşılması gerekir. Android Project sekmesi seçildikten sonra New Android Project penceresi karşımıza çıkar. Şekil 10, şekil 11, şekil 12‟de çalışma ortamının oluşturulmaları gösterilmiştir. 12 Şekil 10. Yeni proje oluşturulması Şekil 11. Yeni projeye isim verilmesi New Android Project penceresindeki project name kısmına, yeni projeye vermek istenilen proje ismi yazılır. Contents seçeneklerinden eğer yeni proje oluşturulacaksa 13 „Create new project in workspace‟, ya da daha önce oluşturulmuş kaynaktan yararlanarak yeni bir proje gerçekleştirilecekse „Create Project from existing source‟ seçeneklerinden biri seçilir. Bir sonraki aşamaya next butonu kullanarak select build target penceresine ulaşılır. Select build target penceresinde kurulum aşamasında, yüklemesini gerçekleştirdiğimiz android sürümlerinden üzerinde çalışılacak olan android versiyonu seçilerek next butonuyla bir sonraki pencereye geçilir. Son olarak Application İnfo penceresi açılacaktır. Package Name kısmına „com.‟ ile başlayan herhangi bir isim verilir. Eğer Package Name kısmına birden fazla kelimelik bir isim verilecekse, kelimeler arasına boşluk değil nokta konması gerekir. Son olarak Create Activity kısmına farklı bir isim verilerek finish butonuyla yeni proje oluşturma işlemi tamamlanır. Açılan sayfada proje menüleri görünmüyorsa sayfanın en alt sol kısmındaki ikona tıklanıp project explorer sekmesinden proje menüleri çalışılan ekrana getirilir.Burada program hangi isimle kaydedilmiş ise o isim ile başlayan bir klasör mevcuttur. Bu klasör altında src, gen, Android 2.1 gibi dosyalar bulunur. Şekil 12. Project explorer sekmesinden proje menülerini çalışılan ortama getirilmesi 14 Project explorer menüsündeki dosyalara göz atılırsa: Buradaki src dosyası uygulamanın kaynak kodlarını içerir. Bu dosyanın bir alt kısmında „com.‟ uzantılı dosya ve „main.java’ dosyası vardır. „Main.java‟ kısmına tıklayarak programın ilk java dosyası açılır. Burada ikinci bir dosya olan „gen‟ adlı klasörde otomatik olarak oluşturulmuş klasörler mevcuttur. „Gen‟ dosyasının bir alt klasörü olan „R.java‟ dosyası açılarak uygulama yapılan programın içindeki her türlü karaktere buradan ulaşır. Şekil 13‟de kurulumdan sonra gelen projenin ilk arayüzü gösterilmiştir. Diğer bir dosya olan Android 2.1‟ in „android.jar’ sekmesinde projeye dahil edilebilecek android ve java sınıfları bulunur. Assets kısmında ise projeye dışardan dahil edilebilecek dosyalar bulunur. Res klasöründe ise drawable ile başlayan dosyalar mevcuttur. Bu dosyalarda farklı kalitelerde, projeye dahil edilebilecek resimler bulunur. Bu dosyalara dışardan da resimler eklenerek uygulamaya dahil edilebilir. Layout ile başlayan kısımda ise kullanıcının grafiksel olarak arayüz oluşturabileceği „main.xml‟ dosyası mevcuttur. „Main.xml‟ dosyası açıldığında programın grafik kısmı ekrana gelir. Bu grafiksel arayüzün sol tarafında textviewlar, butonlar kısaca her türlü medya kontrol simgesi vardır. Eğer grafiksel arayüzde kod olarak çalışılacak ise main.xml kısmına geçilir. Şekil 13. Main.xml dosyası açıldığında ekrana gelen arayüz 15 Graphical layout kısmında ekranın sol tarafındaki ikonları tutup siyah ekran üzerine sürüklediğimizde bu ikonun özelliklerini görebilmek için properties kısmı açılır ve istenilen değişiklikler yapılır. Properties penceresine sayfanın üst kısmında bulunan WindowShow viewOtherGeneral sekmeleri takip edilerek ulaşılır. Sürüklediğimiz ikonun ayrıntılı olarak özellikleri properties kısmında bulunur. Layout dosyasından sonra values klasörü içinde strings.xml kısmı vardır. Strings.xml kullanıcıya bütün dizilere erişme imkanı ve uygulama adını değiştirebilme seçeneklerini sunar. Project explorer menüsünün alt kısımlarına gelindiğinde AndroidManifest.xml kısmı görülür. Bu xml dosyasında programın, android işletim sistemi üzerinde kullanacağı izinler, hangi fonksiyonların hangi diziden başlayacağı gibi bilgiler bulunur. 1.5. Projenin Açılış Ekranı Şekil 14‟de açılış ekran görüntüsü gösterilmiştir. Şekil 14. Açılış ekran görüntüsü 16 1.6. Ana Ekran Şekil 15‟de ana ekran görüntüsü gösterilmiştir. Şekil 15. Ana ekran görüntüsü 1.7. 1. Öğretim Ders Programı Ekranı Ders program ekranı oluşturmak için öncelikle “Table Row” ve “Table Layout” komutları ile iç içe tablolar oluşturulur. Arkaplana arzu edilen fotoğraf veya renkli kaplama yerleştirebilir. Ayrıca oluşturulan ders programı içinde olması istenilen derslerin isimleri girilebilmekte böylece son derece şık görünen bu ders program hazır hale gelmektedir. Şekil 16‟da 1. öğretim ders programı ekran görüntüsü verilmiştir. 17 Şekil 16. 1. öğretim ders programı ekran görüntüsü 1.8. 2. Öğretim Ders Programı Ekranı Şekil 17‟de 2. öğretim ders programı ekran görüntüsü verilmiştir. Şekil 17. 2. Öğretim ders programı ekran görüntüsü 18 1.9. Ders Programı Tercih Ekranı Şekil 18‟de ders programı tercih ekranı görüntüsü verilmiştir. Şekil 18. Ders programı tercih ekranı görüntüsü 19 2. Duyurular Ekranı Şekil 19‟da sınav programı ekran görüntüsü gösterilmiştir. Şekil 19. Duyurular ekran görüntüsü 20 2.1. İletişim Ekranı Şekil 20‟de iletişim ekran görüntüsü gösterilmiştir. Şekil 20. İletişim ekran görüntüsü 2.2. Sınav Programı Tercih Ekranı Şekil 21‟de sınav programı ekran görüntüsü gösterilmiştir. Şekil 21. Sınav programı ekran görüntüsü 21 2.3. Launcher Hataları Manifest xml de her biri farklı ekranlardaki java komut dosyaları “<action android:name="com.atmaca.rssasus.DERS" /> <category android:name="android.intent.category.DEFAULT" />” komutları ile tanıtılır. Bu tanıtma işlemi sırasında eğer söz konusu ekran uygulamasının başlangıç ekranı (ana ekranı) işlevlerini ve komutlarını kapsar ise uygulama açılınca ilk o program dosyasının yürütülmesi için “<category android:name="android.intent.category.LAUNCHER" />” komutu kullanılır. Eğer komut dizini ve başka bir deyişle söz konusu ekran; alt ekranlardan biri ise yani başlangıç ekranı olma özelliği içermiyorsa manifest xml dosyasında “<category android:name="android.intent.category.DEFAULT"/>” komutu ile tanıtılır. Buradaki DEFAULT kelimesi o komut dosyasının ikincil öneme sahip olduğunu belirtir. Ayrıca projenin gerçeklenmesi sırasında çok sık karşımıza çıkan bir diğer hata programın ve yazılımın sorunsuz çalışmasına rağmen simülasyon programında ve cihazlarda yazılımın çalışmamasıdır. Ana sayfa komut dosyası oluşturulurken, ana sayfa diğer sayfalar ile aynı şekilde tanıtılırsa böyle bir hata ile karşılaşılır. Bu hata; “ <action android:name="com.atmaca.rssasus.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />” komutları yerine, “<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />” komutları yazılırsa program cihaz menüsünde bulunur ve sorunsuz açılır. Örnek bir manifest xml dosyası: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.atmaca.rssasus" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="10" /> <uses-permission android:name="android.permission.INTERNET" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".RssReaderActivity" android:label="@string/app_name"> <intent-filter> 22 <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".ders" android:label="@string/app_name" > <intent-filter> <action android:name="com.atmaca.rssasus.DERS" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> </application> </manifest> 2.3.1. Java Compiler Hatası Yazılım süresince sık sık denk gelen bu hata derleyici sürümünden kaynaklanır. Örneğin program “Compiler 1.4” sürümü ile yazılırken, programa dahil edilen “public void onClick(View arg0)” komutu 1.4 derleyicisinde çalışmaz. Hata java jdk derleyicisinin 1.5 seviyesinde çalışmasıdır. Şekil 22‟ de hata ekranı gösterilmiştir. Şekil 22. Java compiler hata ekranı 23 Bu hata sonucunda hatalı komut dizini üzerinde “the method onClick(View) of type new View.OnClickListener(){} must override a superclass method.” hata bildirisine rastlanır. Hatanın çözümü için şu adımlar izlenmelidir: “Package Explorer” penceresinde, üzerinde çalışılan projeye gelinir sağ tıklanır ve properties bölümüne girilir. Şekil 23‟ de hata düzeltilme aşamaları gösterilmiştir. Şekil 23. Java compiler hatasının düzeltilmesi Properties bölümünden java compiler sekmesine girilir. Derleyici ayarlarını aktif etmek için “enable project specific settings” kutucuğuna tıklanır. Son olarak “Compiler compliance level” sekmesindeki derleyici sürümü 1.5 olarak ayarlanır. 24 3. SONUÇLAR Bu çalışma ile arayüz programı gerçeklenmesi amaçlanmıştır. Bu amaçlar doğrultusunda; 1. Java kodları ile ana ekrandaki butonlar yetkilendirilmiş, splash ekranının 5 saniye boyunca ekranda durması için gerekli algoritmalar ve kodlar yazılmıştır. Ders programı tercih ekranında 1. ve 2. öğretim ders programlarının görevlendirmesi gerçekleştirilmiştir. Her butona basıldığında buton sesinin çalması sağlanıp butonlara basıldığında ilgili sayfaya yönlendirme yapılmıştır. Aynı şekilde geri butonuna basıldığında bir önceki ders programları tercih sayfasına ulaşılması sağlanmıştır. 2. Xml Kodları ile splash ekranı görevini alacak olan açılış ekranı içeriğini oluşturmak için ekran içerisine acilis isimli fotoğraf dosyası atılıp ekran ve imaj pozisyon ayarları tanımlanmıştır. Gene xml kodları yardımıyla table row ve table layout komutları ile iç içe tablolar oluşturulup istenilen arka plan dizaynı yapılmıştır. 25 4. PROBLEMİN TANIMI VE VARILMAK İSTENEN HEDEF Bu proje ile duyuru panosu internet üzerinden ana bilgisayar ile haberleşerek, görevlendirilebilen çok fonksiyonlu hedeflendirilmektedir. 26 bir sistemin gerçekleştirilmesi 5. KATKILAR Projenin gerçekleştirilmesi sonucunda teoride anlatılan programlama ve haberleşme bilgisi lisans düzeyinde fayda sağlanmaktadır. 27 6. YÖNTEM Verici ve alıcı birimler arası internet haberleşme formatına göre veri alış verişi yapılacaktır. Aynı zamanda oluşturulacak dokunmatik alıcı ekranı sayesinde verinin hatasız iletilip iletilmediği kontrol edilecektir. Donanım için gereken malzemelerin tamamı satın alınacaktır. Programların duyuru panosuna atılması ve haberleştirilmesi proje ekibince yapılacaktır. 28 7. ÇALIŞMALAR Bu çalışmada proje ekibi beraber çalışmaktadır. Proje ekibi ve çalışma konuları Tablo 2‟de verilmiştir. Tablo 2. Proje ekibi Konu Teorik altyapının oluşturulması. Sistemin blok diyagramının hazırlanması. Gerekli yazılımların tespiti. Evren Gerekli donanımların tespiti. ATMACA ve Baskı devre şemalarının hazırlanması. Murat Donanımın üretimi ve testi. ÇAKIL Yazılım geliştirme. Proje raporlarının hazırlanması. Projenin sunumu ve savunulması. 29 8. ÇALIŞMA TAKVİMİ Çalışma takvimi tüm döneme yayılmıştır. Projenin ocak ayına kadar tamamen sonuçlanması hedeflenmiştir. Tablo 3‟de verilmiştir. Tablo 3. Çalışma takvimi Eylül İş Programlama Haberleşme Altyapısının Oluşturulması Sistemin Edilmesi Bitirme Yazılması Ekim ve Test Tezinin 30 Kasım Aralık Ocak 9. ARAŞTIRMA OLANAKLARI Projenin donanımsal olarak gerçekleştirilmesinde KTÜ Sayısal İşeret İşleme Laboratuvarının araç-gereç altyapısı kullanılacaktır. Aynı zamandan sistemin testi de Sayısal İşaret İşleme Laboratuvarında olacaktır. 31 10. KAYNAKLAR [1]. P. J. Deitel and H. M. Deitel, “Java How To Program”, 7. Baskı, Prentice Hall, New Jersey, ABD, 1692, 2006. [2]. G. Marko, “Learning Android”, 1. Baskı, O‟Reilly Media, ABD, 245, 2011 [3]. Eclipse websitesi. [Online]. Mevcut: http://www.eclipse.org/downloads/ [4]. Android Developer websitesi. [Online]. Mevcut: http://developer.android.com/sdk/index.html [5]. Oracle websitesi. [Online]. http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u3download-1501626.html 32 Mevcut: 11. ÖZGEÇMİŞ Evren ATMACA 1985 yılında İstanbul‟da doğdu. İlk ve orta eğitimini İstanbul‟un Eyüp ilçesinde tamamladıktan sonra Kağıthane Profilo Anadolu Teknik Lisesi‟ne devam etti. 2004‟de liseden mezun oldu ve İstanbul Üniversitesi Teknik Meslek Yüksekokulu Endüstriyel Elektronik bölümüne kayıt yaptırdı. Eğitim süresince eğitim stajlarını tamamladı ve 2007‟de üniversiteden mezun oldu. 2008‟de Karadeniz Teknik Üniversitesi Elektronik Mühendisliği bölümünü kazandı. Halen K.T.Ü. Elektrik Elektronik Mühendisliği 5. sınıf öğrencisi olan Evren Atmaca yabancı dil olarak İngilizce bilmektedir. Murat ÇAKIL 1990 yılında Niğde‟de doğdu. İlk ve orta eğitimini Niğde merkezde tamamladıktan sonra Niğde Anadolu Lisesi‟ne devam etti. 2008‟de liseden mezun olduktan sonra Karadeniz Teknik Üniversitesi Elektrik Elektronik Mühendisliğine kayıt oldu. Halen K.T.Ü. Elektrik Elektronik Mühendisliği 5. sınıf öğrencisi olan Murat Çakıl yabancı dil olarak İngilizce bilmektedir. 33 Karadeniz Teknik Üniversitesi STANDARTLAR VE Mühendislik Fakültesi FORMU Elektrik-Elektronik Mühendisliği Bölümü Tasarım Projesinin hazırlanmasında Standart ve Kısıtlarla ilgili olarak, aşağıdaki soruları cevaplayınız. KISITLAR 1. Projenizin tasarım boyutu nedir? Açıklayınız. Bir elektronik duyuru ve h haberleşme cihazının tasarımı, üretimi ve gerçekleştirilmesi hedeflenmektedir. Sistem tamamen proje ekibi tarafından hazırlanacaktır. 2. Projenizde bir mühendislik problemini kendiniz formüle edip, çözdünüz mü? Hayır. 3. Önceki derslerde edindiğiniz hangi bilgi ve becerileri kullandınız? Hayır. 4. Kullandığınız veya dikkate aldığınız mühendislik standartları nelerdir? Projede internet haberleşmesi gerçekleştirilecektir. İnternet haberleşme standartları projede temel alınmıştır ve standart gerektiği gibi uygulanacaktır. 5. Kullandığınız veya dikkate aldığınız gerçekçi kısıtlar nelerdir? a) Ekonomi Malzeme.seçiminde uygulama için gereken şartları taşıyan, en düşük maliyetli ürünler seçilmiştir. Sistemin üretim maliyetinin en az olması amaçlanmıştır. b) Çevre sorunları: Projede çevreye zararlı olan herhangi bir madde kullanılmayacaktır. Tüm montaj işleminde kurşunsuz lehim kullanılacaktır. c) Sürdürülebilirlik: Sistemin gelişime açık olduğu bilinmekte ve bunun sürdürülebilmesi amaçlanmıştır. d) Üretilebilirlik: Geliştirilecek sistem ülkemizde kolaylıkla üretilebilir niteliktedir. e) Etik: Sistemin tasarımı tamamen proje ekibi tarafından yapılacak ve etik kuralları göz önünde tutulacaktır. f) Sağlık: Geliştirilecek sistem sağlık açısından .herhangi bir risk taşımamaktadır. g) Güvenlik: Geliştirilecek sistem herhangi bir güvenlik riski barındırmamaktadır. h) Sosyal ve politik sorunlar: Üretilmesi amaçlanan proje ve ürün sosyal ve politik açıdan hiçbir soruna sebebiyet vermeyecektir. Not: Gerek görülmesi halinde bu sayfa istenilen maddeler için genişletilebilir. Projenin Adı ANDROİD TABANLI DOKUNMATİK DUYURU PANOSU Projedeki Öğrencilerin adları Tarih ve İmzalar Evren ATMACA ve Murat ÇAKIL 04.01.2013 34