Çarşamba, Temmuz 27, 2016

Android Programlama - Temeller - 1

Bir önceki yazımızda Android Uygulama Geliştirmek için yapılması gereken temel adımlardan bahsetmiştik. Özetlersek dersten önce öğrenilmesi gereken temel bilgilerdi. Yazıya erişmek için ilgili linki kullanabilirsiniz.

Bildiğiniz üzere Android işletim sistemi Linux bazlı çalışan açık kaynak kodlu bir işletim sistemidir. Yapılış amacı telefonlar ve tabletlerde kullanmaktır. Zaman içerisinde Televizyonlar ve giyilebilir teknolojilerde de kullanımı görülmüştür.

Android uygulama geliştirme sürecine dahil olan geliştiricilerin karşılarında oldukça büyük bir telefon havuzu olduğunu ve geliştirmelerini yaparken bu telefonları da dikkate alarak çalışmalarını yapmalarına dikkat etmek gerekecektir. İyi yanı ise hazırladığınız uygulama cep telefonu eko sisteminin yaklaşık %80 ‘nini elinde bulunduran bir işletim sisteminin uygulama havuzuna eklenecek olmasıdır.

Android Uygulama Geliştirme aracı ilk olarak beta sürümü ile 2007 yılında karşımıza çıkmıştı. İlk resmi sürümü ile Android 1.0 ile Eylül.2008 ‘de bizler ile buluştu.

2012 yılında Google I/O konferasında Jelly Bean kod adlı Android 4.1 sürümü duyruldu. Android işletim sistemi gerçek anlamda verimli olarak kullanıcı arayüzünü etkili kullanmaya başlamıştı. Bu sürümde fonksiyon ve performans açısından da çok büyük yenilikler yapılmıştı.

Android ‘in kaynak kodları ücretsizdir ve açık kaynak kod lisansı (open source software licences) ile korunmaktadır. Bu lisanslar içerisinde Google en çok Apache Licence 2.0, Linux çekirdek değişiklikleri ve genel kullanım lisansında güncelleme yapmaktadır.

Neden Android

Bu soruyu çok güzel açıklayan bir çizimi internette buldum.

Özetlersek,

  • Açık kaynak kodlu, merak edersek açıp kodlarına bakabiliyoruz. :)
  • Çok fazla geliştirici ve topluluk var. Kaynak bulması kolay.
  • Pazarlaması oldukça iyi, kendi kendine reklam yapabiliyor.
  • Uygulamalar arası etkileşimi başarılı.
  • Geliştirme maaliyeti düşük ve öğrenim gereksinimi oldukça düşük. (Herhangi bir programlama dili biliyorsanız)
  • Başarı örnekleri çoook fazla (milyon dolar zenginlerinden olmasa da bin dolar zengini olmanız mümkün)
  • Güçlü bir geliştirme arayüzü sunuyor

Android ‘in Göze Batan Özellikleri

Android işletim sistemi gerçek anlamda Apple iPhone 4S çıktığı zamanlardan bu yana tam anlamıyla gücünü göstermeye başlamıştır. iOS ‘un uzunca bir süredir Android tabanlı telefonlarda kullanılan ve çok beğenilen özellikleri kendi işletim sistemine dahil ettiğini düşünürsek bu fikrin doğruluğu da ispatlanmış oluyor.

Özellikleri ve temel açıklamaları alt kısımdaki özellik listesinden erişebilirsiniz. Özelliğin adını internette kaynak ya da örnek ararken daha kolay bulabilmeniz için ingilizcesi ile bırakacağım.

Beautiful UI (Şık kullanıcı ara yüzü):
Android işletim sistemin en baz sürümü bile son kullanıcıların ilgili çeken bir görünüme sahiptir.

Connectivity (Erişim/ İletişim):
GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC ve WiMAX.

Storage (Depolama/ Veri depolama):
SQL Lite ile ufak çapma ilişkisel veri tabanı oluşturup kullanmak mümkün oluyor. En güzel tarafı ile son kullanıcının telefonunun veri tabanı kullanıldığı için uygulama kullanıldığı sürece yapılan işlemleri tutup, tekrardan uygulama kullandığında daha iyi bir deneyim sağlamaya olanak sağlıyor.

Ayrıca bir konuyu da unutmamak lazım ki, büyük çapta bir uygulama hazırladığınızda bütün işlemleri SQL Lite üzerinde yapmayıp bir web servis yapısı ile ayrı bir sunucu grubunda tutmanız daha yararlı olacaktır. Ayrıca hazırladığınız servis mimari hem Android hem de iOS cihazlarında kullanılması mümkün olacaktır. Gelecek yazılarımız da nasıl yapacağımıza değineceğim.

Media Support (Ses/Video format Desteği):
Bilirsiniz eskiden bir medya dosyası elimize ulaştığında acaba codec ‘i var mı? Ses ya da görüntü gelecek mi diye düşüncelerimiz olurdu. Android bu derdi bir çok codec dosyasını sisteminde barındırarak çözmeye çalışmış.

H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC 5.1, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, ve BMP

Messaging (Mesajlaşma):
GSM operatörlerinin sunduğu SMS ve MMS mesajlaşma tiplerini desteklemektedir. Whatsapp gibi uygulamalar internet üzerinden haberleşmeyi sağladığı için bu kategori içerisinde yer almamaktadır.

Web Browser (İnternet Tarayıcıs):
Google adı geçtiğinde aklımıza ilk olarak arama motoru geliyorsa ikinci olarak Chrome internet tarayıcısı geliyor. Mobil işletim sisteminde de bu teknolojisinin gücünden yararlanmayı tercih etmişler. Açık kaynak WebKit mimarisini temel olarak Java script mimari yapısı ile birlikte HTML5 ve CSS3 desteği vermektedir.

Multi-touch (Çoklu dokunuş):
Artık hepimizin alışık olduğu tek ve birden fazla dokunuş ile etkileşim alabilmek olanağı.

Resizable Widgets (Boyutları değiştirilebilir araçlar):
iOS işletim sisteminden farklı olarak Android işletim sisteminden mevcut ekranlarınızın herhangi bir yerine widget ekleyebilir ve boyutlarını tercihinize göre belirleyebilirsiniz.

Multi - Language (Çoklu dil desteği):
Türkçe desteği de dahil olmak üzere bir çok dil desteği vardır.

GCM:
Google Cloud Messaging (GCM) servisi, uygulama geliştiricilere cihazlar arasında internet üzerinden kısa mesajlar göndermesine oanak sağlar.

Wi-Fi - Direct (Kablosuz Ağ):
Kablosuz internet desteği vardır.

Android Uygulamaları

Android için hazrlanan uygulamalar Java dili ve Android Yazılım Geliştirme aracı (SDK) (Android Software Development Kit) yardımıyla yazılır.

Hazırladığımız uygulamaları son kullanıcı ile buluşturmak/ indirtmek/ satmak istediğimiz işletim sistemine ait birkaç market göze çarpmaktadır. En popüleri herkesinde bildiği gibi Google Play dir. Diğer uygulama havuzları ise, SlideME, Opera Mobile Storage, Mobango, F-droid ve Amazon AppStore olarak sıralayabiliriz.

Android işletim sistemine ait yüz milyonlarca telefon olduğunu, bu telefonların ise yaklaşık 190 ülkede kullanılığını düşünürsek doğru fikir ile hazırlanan uygulamanın fark edilmesi çokta zor gözükmemektedir.

Uygulamayı geliştirip yayınlamak istediğimiz Android uygulama paketinin oluşacağını ve bu sayede uygulamalarımızın çalışacağını unutmamamız gerekiyor.

Android Uygulama Kategorileri

Hazırlanan/ geliştirilen uygulamalar Andorid marketlerde belirli kategoriler altında bulunur. Bunlara alt kısımdaki görselden erişebilirsiniz. Sizlerde geliştirdiğiniz uygulamayı bu kategorilerden birinin altına eklemeniz gerekecektir.

Android Geçmişi

Geliştirmelerden bildiğimiz üzere Android işletim sistemlerinin oldukça dikkat çekici kod adları oluyor. Bunları listelersek; Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomp, Ice Cream Sandwitch, Jelly Bean, Kitkat, Lolliop olarak sıralanmaktadır.

Bir de bu iştah açıcı kod adlarına istinaden bulunan görsellere göz atalım.

API Level Nedir?

Android sürümlerine verilerin kod adları, platform numaraları ile birlikte bir API Level numarası göze çarpacaktır. Framework sürümleri arttıkça aslında API Level Artışı olmaktadır. İlk sürümden itibaren api level ‘a alt kısımdaki listeden ulaşabilirsiniz.

Platform Sürümü API Level VERSION_CODE
Android 5.1 22 LOLLIPOP_MR1
Android 5.0 21 LOLLIPOP
Android 4.4W 20 KITKAT_WATCH KitKat ile Giyilebilir Teknoloji Desteği geldi
Android 4.4 19 KITKAT
Android 4.3 18 JELLY_BEAN_MR2
Android 4.2, 4.2.2 17 JELLY_BEAN_MR1
Android 4.1, 4.1.1 16 JELLY_BEAN
Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1
Android 4.0, 4.0.1, 4.0.2 14 ICE_CREAM_SANDWICH
Android 3.2 13 HONEYCOMB_MR2
Android 3.1.x 12 HONEYCOMB_MR1
Android 3.0.x 11 HONEYCOMB

Android 2.3.4

Android 2.3.3

10 GINGERBREAD_MR1

Android 2.3.2

Android 2.3.1

Android 2.3

9 GINGERBREAD
Android 2.2.x 8 FROYO
Android 2.1.x 7 ECLAIR_MR1
Android 2.0.1 6 ECLAIR_0_1
Android 2.0 5 ECLAIR
Android 1.6 4 DONUT
Android 1.5 3 CUPCAKE
Android 1.1 2 BASE_1_1
Android 1.0 1 BASE


Bir sonraki yazımızda (Geliştirme araçlarının kurulumu) görüşmek üzere...

Turhal Temizer

Hiç yorum yok: