Derinlemesine Android Programming
By Onder Teker
()
About this ebook
Bu kitapta Android işletim düzeniyle çalışan, başta cep telefonu gibi aygıtlarda Java ve XML ile geliştirme
yapılması anlatılmaktadır. Temel bilgiler ve Android Studio geliştirme çevresinin dışında, karmaşık uygulamalar üretmek ve aygıtların desteklediği özellikleri kullanmak için gerekli bilgiler verilmektedir. Konular, profesyonel uygulama geliştirilmesine yardımcı olması için, gelişmiş özellikleri de içerecek
biçimde, derinlemesine açıklanmaktadır.
Read more from Onder Teker
Derinlemesine HTML & CSS Rating: 0 out of 5 stars0 ratingsDerinlemesine Python Rating: 0 out of 5 stars0 ratingsDerinlemesine Java Object-Oriented Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine İngilizce Dilbilgisi Rating: 5 out of 5 stars5/5Derinlemesine C Fundamentals ve Functional Programming Rating: 3 out of 5 stars3/5Derinlemesine SQL Rating: 0 out of 5 stars0 ratingsDerinlemesine Spring Boot Fundamentals Rating: 0 out of 5 stars0 ratingsDerinlemesine Spring Boot Web Rating: 0 out of 5 stars0 ratingsDoğrudan Database Back-End Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine Python AI Computer Vision Rating: 0 out of 5 stars0 ratingsDerinlemesine Python AI Natural Language Processing Rating: 0 out of 5 stars0 ratingsDerinlemesine Python AI Machine Learning Rating: 0 out of 5 stars0 ratingsDerinlemesine PHP Fundamentals Web Database Services Rating: 0 out of 5 stars0 ratingsDerinlemesine JavaScript Rating: 5 out of 5 stars5/5Derinlemesine C ++ ve Object-Oriented Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine Python Data Science Rating: 0 out of 5 stars0 ratingsDerinlemesine NoSQL Rating: 0 out of 5 stars0 ratingsDerinlemesine JavaScript Language Rating: 0 out of 5 stars0 ratingsDerinlemesine Java Desktop Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine React Rating: 0 out of 5 stars0 ratingsDerinlemesine Java - ORM, JPA & Hibernate Rating: 0 out of 5 stars0 ratingsDerinlemesine Java Web Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine Android UI Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine Java - MVC, JSF & Primefaces Rating: 0 out of 5 stars0 ratingsDerinlemesine Android Data Programming Rating: 0 out of 5 stars0 ratings
Related to Derinlemesine Android Programming
Related ebooks
Derinlemesine Android UI Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine Java - ORM, JPA & Hibernate Rating: 0 out of 5 stars0 ratingsDoğrudan Java Eclipse Rating: 0 out of 5 stars0 ratingsDerinlemesine Java - Patterns, CDI ve Spring Rating: 0 out of 5 stars0 ratingsDoğrudan Web Front-End Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine Java - MVC, JSF & Primefaces Rating: 0 out of 5 stars0 ratingsDerinlemesine Java - EJB, JMS ve Web Services Rating: 0 out of 5 stars0 ratingsDerinlemesine Java Web Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine Android Data Programming Rating: 0 out of 5 stars0 ratingsDoğrudan Java Fundamentals Database Desktop Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine C ++ ve Object-Oriented Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine PHP Fundamentals Web Database Services Rating: 0 out of 5 stars0 ratingsDerinlemesine Java Desktop Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine React Rating: 0 out of 5 stars0 ratingsPython'a Giriş, Veri Yapıları ve Nesne Yönelimli Programlama Rating: 0 out of 5 stars0 ratingsDoğrudan Database Back-End Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine Python AI Computer Vision Rating: 0 out of 5 stars0 ratingsPython İle Makine Öğrenmesi: Education, #277 Rating: 0 out of 5 stars0 ratingsDoğrudan C#.NET Rating: 0 out of 5 stars0 ratingsDerinlemesine JavaScript Rating: 5 out of 5 stars5/5Derinlemesine Spring Boot Cloud Rating: 0 out of 5 stars0 ratingsDerinlemesine Spring Boot Fundamentals Rating: 0 out of 5 stars0 ratingsDerinlemesine Spring Boot Web Rating: 0 out of 5 stars0 ratingsFlutter için Dart Programlama Rating: 0 out of 5 stars0 ratingsEğitim ve Gelişim Amaçlı Uygulamalar İçin Yazılım Proje Fikirleri 1 Rating: 0 out of 5 stars0 ratingsYazılım Gereksinim Analizi Soruları Rating: 1 out of 5 stars1/5Derinlemesine Java Database Programming Rating: 0 out of 5 stars0 ratingsDoğrudan Java Web Enterprise Mobile Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine NoSQL Rating: 0 out of 5 stars0 ratingsInternet Nasıl Çalışır?: Education Rating: 0 out of 5 stars0 ratings
Reviews for Derinlemesine Android Programming
0 ratings0 reviews
Book preview
Derinlemesine Android Programming - Onder Teker
Derinlemesine
Android
Programming
Fundamentals
Android Studio
Java XML APK
Önder Teker
Godoro Yayıncılık
GODORO YAYINCILIK
Yayıncı Sertifikası No: 18531
Kitabın Adı:
Derinlemesine Android Programming
Copyright © 2019 Godoro Yayıncılık
Kitabın Yazarı:
Önder Teker
Birinci Basım, Temmuz 2019, İstanbul
ISBN:
978-605-69525-1-7
Kapak Tasarımı ve Mizanpaj:
Önder Teker
Baskı ve Ciltleme:
NET COPY CENTER
Özel Baskı Çözümleri
İnönü Cd. Beytülmalcı Sk. No:23/A
Gümüşsuyu, Taksim 34427 İstanbul TR.
GODORO YAYINCILIK
Çiğdem 2 Sokak No:7 D:8
Kaptan H. Rıfat Çırak İş Merkezi Mecidiyeköy
Şişli / İstanbul
Telefon/Fax : (212) 213-0275
http://www.godoro.com
Geliştirme Ortamı
Yükleme (Installation)
İzlenceler (Programlar)
Android İşletim Düzeni
Android, taşınabilir aygıtlar için üretilmiş bir işletim düzeni (operating system) yazılımıdır. Görevi, cep telefonu, tablet ya da televizyon gibi aygıtların çalışmasını sağlamaktır. Söz konusu aygıtlarda uygulamaların üzerinde çalıştığı ortamdır.
Android SDK
Android işletim düzeni üzerinde çalışacak uygulamalar yazmak için kullanılan araç Android SDK (Software Development Kit - Yazılım Geliştirme Takımı) adını alır. Görsel bir arayüzü olmadan, derleme (compiling) ve bohçalama (packaging) gibi gerekli temel işlemleri ve çok sayıda ileri özelliği gerçekleştirir.
Android Studio
Android işletim düzeninde çalışacak uygulamalar geliştirmek için kullanılan resmi geliştirme çevresi Android Studio adını alır. Geliştiricilere görsel ve kolay bir arayüz sağlar. Ancak gerçek işlemleri arkada Android SDK altyapısına yaptırır. Başka bir deyişle, Android Studio geliştiricinin gördüğü yüzken, Android SDK gerçek, arkada işleri yapan uygulamadır. Öte yandan, Android Studio bir çok gelişmiş araç içerir ve bunlar olmadan doğrudan Android SDK kullanarak geliştirme yapmak oldukça çetindir.
IntelliJ
Android Studio geliştirme çevresi; sıfırdan, baştan yazılmış değildir. JetBrains kurumunun Java ile geliştirme yapmak için kullanılan IntelliJ adlı ürünün üzerine kurulmuştur. IntellJ geliştirme ile ilgili işleri çoktan yapmaktadır. Android Studio, IntelliJ ile geliştirilen yazılımı Android SDK kullanarak bir Android uygulaması biçimine çevirir. Başka bir deyişle, Android Studio, IntelliJ ortamının Android SDK ile çalışabilecek bir sürümüdür.
Java
Java, nesneye yönelik, güvenli, sağlam yazılım geliştirme dillerinden biridir. Android işletim düzenin temel uygulama dilidir. Java, bir dilin adı olması dışında, bir aygıtla yazılım geliştirme arasında belli bir altyapı oluşturan bir platformun da adıdır. Bir çok üstün özellikleri nedeniyle Andoid işletim düzenin yazılım geliştirme platformu olarak seçilmiştir. Android işletim düzeninde Java ile geliştirme yapıldığı gibi Android geliştirme için kullanılan Android SDK da Java ile geliştirilmiştir. Android üzerinde geliştirme yapmak için kullanılan temel çevre Android Studio Java ile çalışır.
Bunun dışında kimi uygulamalar C++ ile geliştirme yapmak olanaklı da olsa bir çok çetin, kimsenin pek önermediği bir yoldur. Gerçekte Java da C++ diliyle yazılmıştır ve Android işletim düzeninin de çekirdeği C++ dillerine dayanır.
Ayrıca Kotlin adı verilen, göreli olarak Java dilinden daha kolay bir dille geliştirme yapmak da olanaklıdır. Öte yandan, Java dilini çoktan bilen bir kişi için çok da gerekli olmayabilir. Özellike Java dilini Android dışında başka ortamlarda da kullanmak isteyenler Java ile geliştirmeyi sürdürebilirler. Ancak Java ilk kez geliştirmeye başlayanlar için bir ölçüde çetin bir dildir. O yüzden kimi yeni geliştiriciler için Kotlin değerlendirilmesi gereken bir seçenek olarak ortaya çıkar. Özellikle JavaScript diline alışık olanlar için kolay bir çözüm olabilir.
JDK
Gerek Android SDK gerekse Android Studio uygulaması JDK (Java Development Kit - Java Geliştirme Takımı) adlı çatıyı kullanırlar. O yüzden öncelikle JDK kurulumu yapılmalıdır. Android geliştirme takımı ve çevrenin kullandığı JDK sürümü bilinmeli ona göre yükleme yapılmalıdır. Örneğin Android Studio 3, yani Android Studio çevresinin 3. sürümü JDK 8, yani JDK çatısının 8. sürümünü kullanır. Aşağıda JDK 8 indirilmesi ve kurulması anlatılmaktadır. Kurulum kolaydır, sürekli Next (Sonraki) denerek ilerlenebilir.
İndirme (Download)
grafikler1Arama motorunda
download JDK
yazılırsa ekrana yukarıdaki gibi bir örün beti gelir. Burada Accept Licence (Lisansı Ona) onay kutusu tıklanır ve işletim düzeni (operating system) ve bit bilgisine göre uygun seçenek tıklanır. 64-bit bilgisayarlar x64, 32-bit bilgisayarlar da x86 olarak adlandırılır. Örneğin
Windows x64 jdk-8u151-windows-x64.exe
biçimindeki seçenek 64-bit Windows işletim düzeni için seçilir.
Yürütme (Execution)
Diske indirilen .exe uzantılı dosya üzerine ikişer tıklama (double click) ile yürütme (execution) başla
grafikler2tılır.
Başlatma (Start)
Buradaki büyücü kurulum için yardımcı olur. Genelde Next (Sonraki) düğmesine basılarak ilerlenir.
grafikler3Uyarlama (Customization)
Burada kurulacak bileşenler seçilir. Herhangi bir ekleme çıkarma yapmaya gerek yoktur. Yalnızca Install To (Şuraya Yükle) bölümünde varsayılan konumdaki diskte yer azlığı varsa Change (Değiştir) düğmesiyle
grafikler4başka bir konum seçilebilir. Bu ayarlama daha sonraki adımlarda da sorulabilir.
İlerleme (Progress)
Kurulum başlatıldıktan sonra ilerleme (progress), bir çubukla gösterilir.
grafikler5Varış Klasörü (Destination Folder)
Yüklemenin yapılacağı dizin, yani varış klasörü (destination folder) yeniden sorulabilir.
grafikler6Kurulum (Setup)
Kurulum süresince kimi içerikler geliştiriciye gösterilir. Bunlar tanıtım niteliğinde içeriklerdir. Herhangi bir önemleri yoktur.
grafikler7Bütünleme (Completion)
Bu ekrana gelindiğinde JDK başarıyla kurulmuş demektir. Close (Kapat) diyerek süreç bitirilir.
grafikler8Android Studio Yükleme
Android üzerinde geliştirme yapmak için Android Studio adı uygulama kurulmalıdır. Aşağıda Android Studio 3 için kurulum anlatılmaktadır.
İndirme (Download)
grafikler9Bir arama motoruna
android studio download
biçiminde sözcükler girilirse Android Studio geliştirme ortamının indirilebileceği bir örün betine ulaşılabilir.
Bu bette DOWNLOAD ANDROID STUDIO (Android Studio'yu İndir) düğmesine tıklanarak indirme yapılabilir. Buradaki örün beti bağlanan tarayıcıdan bit bilgisini alır. 32-Bit makineler için burası geçerli olmaz. Diskte ne kadarlık yer kapladığı gösterilir. Ancak bu yükleme uygulamasının boyudur. Kurulum başladıktan sonra çok daha büyük bir yer kaplar.
Yürütme (Execution)
İndirilen .exe uygulamasının üzerinde ikişer tıklama yapılarak yükleme süreci başlatılabilir.
grafikler10Karşılama (Welcome)
Yükleme başlayınca olağan bir karşılama (welcome) penceresi gelir. Burada Next (İleri) düğmesine basılarak ilerlenir.
grafikler11Bileşen Seçme (Choose Components)
Bileşen seçme söyleşisinde, uygulamaları sınamak için kullanılan sanal aygıt (virtual device) yüklenip yüklenmeyeceği belirlenebilir. Fiziksel bir aygıtta sınamalar yapılacaksa sanal aygıt yüklenmeyebilir. Kimi geliştiriciler geliştirme ortamıyla gelen sanal aygıtlar yerine üçüncü tikelik (third-party) kurum
grafikler12ların sanal aygıtlarını yüklemek istemektedirler. Öte yandan, sınamaları tek bir aygıtta yapmak doğru değildir. Çok sayıda telefon için örneğin sınama yapılmak isteniyorsa buradaki yükleme tiki oluğu gibi bırakılmalıdır.
Konum (Location)
Yükleme konumu seçimi yukarıdaki pencerede yapılabilir. 500 MB yer gerektiği için yer sorunu olmayan bir konum seçilmelidir.
grafikler13Başlat Menüsü Klasörü
Geliştirme ortamı uygulamasının kısayolunun işletim düzeninin Başlat Menüsü (Start Menu) bölümünde hangi konuma yerleştirileceği yukarıdaki ekranda belirlenebilir. Son ekranda Install (Yükle) düğmesine tıklanınca gerçek yükleme işlemi başlatılır.
grafikler14Yükleme (Install)
Yükleme penceresinde ilerleme (progress) yüklenen öğeler için gösterilir. İlk açılan pencerede Show Details (Ayrıntıları Göster) düğmesi tıklanırsa yüklenen her birim ekranda bildirilir.
grafikler15Bütünleme (Completion)
Yükleme bitince yukarıdaki gibi bir ekran görünür. Burada Next (Sonraki) düğmesine basılır.
grafikler16Yüklemenin Bitişi (Installation Finish)
Son olarak yükleme ve kurulum sürecinin bittiği bildirilmektedir. Start Android Studio (Android Studio'yu Başlat) seçeneği tikli kalırsa geliştirme ortamı çalıştırılır.
grafikler17Android Studio İlk Açılış
Ayarları İçeal (Import Setting)
Geliştirme ortamı ilk kez çalıştırılırken, daha önceki kurulumlardaki ayarların içe alınıp alınmayacağı sorulur. İlk kurulumda herhangi bir işlem yapmaya gerek olmaz, OK (Oldu) seçeneği tıklanır.
grafikler18Kurulum Büyücüsü
İlk açıldığında Android Studio geliştirme ortamı, kurulum (setup) işlemleriyle ilgili bir takım sorular sorar ve geliştiricinin yeğlemelerini öğrenmek ister.
grafikler19İzlek (Theme)
Geliştiriciye renkler ve biçimler içeren izlek (theme) bilgisi sorulur. Bir çok geliştirici ak artalan (white background) kullanmanın gözleri yorduğu gibi gerekçelerle Darcula izleğini seçer. Darcula sözcüğü dark (karanlık) ve vampirlerin atası Drakula sözcüklerinden oluşan bir sözcük oyunudur. IntelliJ ise, Android Studio uygulamasının taban alındığı temel geliştirme ortamının doğal görünümünü içerir. Burada ola
grafikler20ğan izlek seçileceği için varsayılanda kalınması önerilir. Ancak daha sonra izlek değiştirme yoluna gidilebilir.
Bileşen Kurulumu (Component Setup)
Bileşenlerin kurulumuyla ilgili son yeğlemeler resimdeki gibi sorulmaktadır. Burada Performance (Başarım) seçeneği, işlemci üreticisi Intel kurumunun bilgisayarların başarısını artırmak için geliştirdiği HAXM adlı altyapı kurulumunun istenip istenmediği sorulmaktadır. Bunun tıklanması önerilir. Kimi bilgisayarlarda bu seçenek tıklanmazsa görsel bileşenlerin görünümünde türlü sıkıntılar oluşur. Bunun dışında Virtual Device (Sanal Aygıt) seçeneğinin de tıklanması önerilir.
grafikler21Kurulum Bitişi (Setup Finish)
Kurulumun bitişi yukarıdaki gibi bir pencereyle bildirilir.
grafikler22Bileşenleri İndirme (Download Components)
Yükleme ve kurulum aşamasında yapılan yeğlemelere göre seçili bileşenler indirilmeye başlanır. Burada Show Details (Ayrıntıları Göster) düğmesi tıklanırsa indirilen dosyaların neler olduğu gözlenebilir.
grafikler23İndirme süreci oldukça uzun olabilir. Genelağ bağlantısının hızına göre onlarca dakika sürebilir. Android ile ilgili bir çok dosyanın indirilmesi söz konusudur. Android Studio ve Android SDK üreticileri dosyaların en güncel, en böceksiz sürümlerinin indirilmesini istedikleri için sunucudan indirme uzun sürebilmektedir. Aynı anda bir çok geliştirici geliştirme ortamı ile ilgili dosyaları indirmektedir.
İndirmeyi Bitime (Finish Download)
Bileşenlerin indirilmesi ve sökülmeleri bitince yukarıdaki gibi bir ekran görünür. Burada Finish (Bitir) tıklanırsa Android Studio açılır.
grafikler24Android Studio Proje Oluşturma
Android Studio Karşılama (Welcome)
Android Studio açılırken ne yapılacağını sorar. Burada Start a new Android Studio project (Yeni bir Android Studio izdüşüsü başlat) seçeneği ile ilk olarak proje oluşturulabilir. Daha önce yaratılmış ve üzerinde çalışılmış projeyi yeniden açmak için Open an existing Android Studio Project (Var olan bir Android Studio izdüşüsü aç) seçeneği tıklanabilir.
grafikler25Yazılım geliştirme projelerini tutan ve değişimlerini gözleyip gerektiğinde yanlışlıkların geri alınmasını sağlayan sürüm denetimi (version control) uygulamalarından bir proje açmak için Check out project from Version Control (Sürüm Denetiminde proje dışarı çıkışı yap) seçeneği tıklanır.
Profile or Debug APK (APK'yı Yanayla veya Böceksizle) seçeneği APK (Android Package - Android Bohçası) adı verilen bohçalarda bulunan Android uygulamalarının incelenmesi ve yanlışlıklarının ayıklanması sürecini başlatır.
Seçeneklerden Import Project (Gradle, Eclipse ADT etc) (Projeyi Gradle, Eclipse ADT vb.'den İçe Al) seçeneği, başka geliştirme ortamlarında yapılmış projenin açılmasını sağlarken; Import an Android code sample (Android düzgü örneğini içe al) seçeneği de geliştiricilere örnek olsun diye yapılan projeleri açmak için kullanılır.
En altta bulunan Configure (Yapılandır) seçeneği ise geliştirme ortamı açılmadan önce gerçekleştirilmek istenen yapılandırmalar içindir. Bunlarda SDK Manager (SDK Yönetici) kullanılacak geliştirme takımlarının seçilmesi ya da kurulması gibi işlemler içindir. Yapılandırma işlemleri bir proje açıldıktan sonra da yapılabilir.
Yukarıda görünen ekranda herhangi bir işlem yapmadan Start a new Android Studio project (Yeni bir Android Studio projesi başlat) seçeneği tıklanarak bir proje başlatılır.
Bir Proje Yaratma (Create a Project)
Proje yaratma aşamasında bir takım önemli bilgiler sorulur. Bunlardan Application Name (Uygulamanın Adı) alanındaki bir aygıta kurulduğunda görünecek addır. Burada uygulamanın ne olduğuyla ilgili bir adlandırma yapılabilir. Örneğin bir içerik (content) uygulamasıyla Content Displayer (İçerik Gösterici) biçiminde bir ad seçilebilir.
grafikler26Ekrandaki Company domain (Şirket alanı) bölümüne geliştirme yan kurumun adı girilir. Bu alan bir çok yerde kullanıldığından; gerçek uygulamalarda, çalışılan kurumun gerçek alan adına göre bir değer girilmelidir. Örneğin Godoro kurumu için içerik (content) adında bir uygulama yapılacaksa
content.godoro.com
biçiminde bir giriş yapılmalıdır. Herhangi bir alan adı olmayan kişiler kendi adlarıyla buraya giriş yapabilirler. Örneğin
content.onderteker.com
biçiminde bir giriş, en azından bu adın başkalarınca alınmış olma olasılığını büyük ölçüde azaltır. Ancak tümüyle yok etmez.
Projenin adından Java dilindeki bohça adı (package name) belirlenir. Örneğin Content Displayer biçimindeki bir projenin bohça adı aşağıdaki gibi olur:
com.godoro.contentdisplayer
Project Location (Projenin Konumu) alanında projenin diskte bulunacağı yer seçilir. Tüm Android projelerinin aynı yere konması yararlıdır. Örneğin
C:\Projects\Android\ContentDisplayer
biçiminde bir konum seçilebilir.
Son bölümde C++ ve Kotlin seçenekleri, projede bu dillerin kullanılıp kullanılmayacağına ilişkindir.
Yukarıda anlatılanlara göre örnek bir proje başlatalım. Söyleşi aşağıdaki gibi olur:
Burda Next (Sonraki) tıklanarak ilerlenebilir.
grafikler27Erek Aygıtlar (Target Devices)
Android bir çok aygıt üzerinde çalıştığı için proje oluşturulurken hangi aygıt için yazılım geliştirileceği bildirilmelidir. Öte yandan, aynı uygulamanın birden çok aygıt için çalışabilmesi olanaklı olduğundan; seçenekler, onay kutusu (check box) olarak verilmiştir.
grafikler28Bunlardan Phone and Tablet (Telefon ve Tablet), cep telefonları ve tablet aygıtları için; Wear (Giysi), saat gibi giyilebilen aygıtlar; TV (Televizyon), televizyon ve benzeri aygıtlar; Auto (Kendinden), arabalar için; Thing (Nesne) ise Internet of Things (Nesnelerin Genelağı) kavramındaki gibi herhangi bir akıllı aygıtı temsil etmektedir.
Seçeneklerin her birinde SDK için sürüm (version) sorulmaktadır. Her aygıt ayrı bir sürümde