Top Banner
BMH-210 MOBİL CİHAZ PROGRAMLAMA Android OS Tanıtımı, Kurulumu, Bileşenleri, Önemli noktalar Dr. Musa ATAŞ
78

BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Sep 06, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

BMH-210MOBİL CİHAZ

PROGRAMLAMAAndroid OS Tanıtımı, Kurulumu, Bileşenleri, Önemli noktalar

Dr. Musa ATAŞ

Page 2: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

İçerik

ANDROID PLATFORMU

ANDROID STUDIO KURULUMU

ANDROID STUDIO IDE TANITIMI

ANDROID KODLAMA STİLİ

GELİŞTİRİCİ SEÇENEĞİNİN AKTİF EDİLMESİ

ANDROID Studio ile ilk ANDROID uygulamanın geliştirilmesi

Page 3: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

ANDROID PLATFORMU

Page 4: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

ANDROID Platformuna Giriş

Mobil cihazlar için yazılım sistemleri ve kütüphaneleri İşletim Sistemi Çekirdeği (OS Kernel)

Sistem Kütüphaneleri

Uygulama Çatısı (Application Framework)

ANDROID SDK (Software Development Kit) Çeşitli kütüphaneler ve geliştirme araçları

Tonlarca dokümantasyon

http://developer.android.com/training/index.html adresine gözatmanızı ve incelemenizi öneririm.

Page 5: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

ANDROID OS

Mobil İşletim Sistemidir.

Linux kerneli üzerine kurulmuştur. (UNIX Türevi)

Google tarafından geliştirilmektedir.

Temmuz 2013 verilerine göre, Google PlayStore da 1 milyonun üzerinde ANDROID uygulamaları bulunmaktadır ve 50 milyar download yapılmıştır.

Merkezinde C dili, ara katmanlarda ve sistem kütüphanelerinde C++, ve UI de JAVA dili kullanılmıştır.

Resmi geliştirme dili JAVA’dır.

ARM, MIPS ve x86 mimarilerinde çalışabilmektedir.

Son sürümü, 8.0 OREO (2018) da çıkmıştır.

Page 6: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

ANDROID Software Stack (Yazılım Yığını)

Page 7: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 8: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

LINUX Çekirdeği Katmanı

OS Standart Servisleri Memory & Process Management (bellek ve işlem yönetimi)

File & Network I/O (dosya ve ağ giriş çıkışları)

Security (güvenlik)

Device Drivers (aygıt sürücüleri)

+ ANDROID Özel Servisleri Power management (güç yönetimi)

Memory sharing & low memory killer (bellek paylaşımı ve düşük bellek)

Interprocess communication (işlemler arası haberleşme)

Page 9: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Sistem Kütüphaneleri (System Libraries Layer) Sistem C Kütüphaneleri (libc)

Bellek ayırma, matematiksel işlemler v.s.

Surface Manager (Yüzey İdarecisi) Display Management

Media Framework Audio, Image, Video

Webkit Browser engine

openGL High performance graphics engine (SGL for 2D android.graphics.drawable lib,

OpenGL-ES for 3D android.opengl) http://www.slideshare.net/peterbuck/opengles-and-sgl-2d3d-graphics-accelerating-

technologies

SQLite Relational database

Page 10: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

ANDROID Runtime

Core JAVA kütüphaneleri (JVM) Temel JAVA Sınıfları (Common data structures, file I/O, concurrency and

threading issues) -> java.*, javax.* Android paketleri (i.e. Lifecycle of mobile app) -> android.* Internet/Web/Network services -> org.* Unit test -> junit.*

Dalvik Virtual Machine (DVM) Uygulamalar JAVA’da yazılır JAVA byte code olarak derlenir DX converter bytecode ları uzantısı *.dex olan dosyalara çevirir. DVM dex dosyalarını çalıştırır (execution)

Page 11: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

ANDROID applicationworkflow/overview

Page 12: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Dalvik Virtual Machine – DVM (Dalvik Sanal Makinesi)

Designed for resource-constrained environments (kaynak kısıtlı aygıtlar için tasarlanmıştır) Slower CPU (ARM Cortex) (Intel ve AMD işlemcilerine göre nispeten düşük hız)

Less Memory

Limited battery life

For more information see also this video

https://www.youtube.com/watch?v=ptjedOZEXPM

Page 13: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Application Framework (Uygulama Çatısı/Çerçevesi)

Package Manager : mobil cihaza yüklenmiş tüm uygulamaların tutulduğu bir çeşit veri tabanıdır. Uygulamalar kendi aralarında ortak verileri veya servisleri kullanabilirler.

Window Manager: Uygulamayı meydana getiren pencerelerin yönetildiği yerdir/sistemdir.

View System: bilinen user interface objelerini sağlayan birimdir. (i.e text, button, icons v.s.)

Resource Manager: non-compiled entities as images, strings,layout filesetc. (derlenmemiş varlıklar mesela görüntüler, katarlar, planlar vb.)

Page 14: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Application Framework (Uygulama Çatısı/Çerçevesi)

Activity Manager: uygulamalar arasında geçişleri, navigasyonu ve bir uygulamanın ne kadar süre boyunca çalışacağını yönetir.

Content Provider : Uygulamalar çalıştığı zaman ihtiyaç duydukları yapısal bilgileri bu içerik sağlayıcısı veri tabanından alırlar. Mesela, telefon adres defterindeki bilgiler, telefon açma uygulaması, twitter, e-mail veya mesaj uygulamalarında istenebilir.

Page 15: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Application Framework (Uygulama Çatısı/Çerçevesi)

Location Manager: GPS sistemlerinde mesela, gerekli olan lokasyonve hareket hatta yön bilgilerini sağlamaya yarar. (Google mapsuygulamasında olduğu gibi)

Notification Manager: Önemli olaylar olacağı zaman, uygulamanın notify etmesi mesela sinyal vermesini sağlayan sistemdir.

XMMP Service: Extensible Messaging and Presence Protocol (XMPP) is a communications protocol for message-oriented middleware based on XML. (XML tabanlı mesaj yönelimli ara-katman haberleşme protokolüdür.

Page 16: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Applications Layer (Uygulamalar Katmanı)

Bu katmanda Application Framework Katmanındaki API lar kullanılarak1. Androiddeki standart uygulamalar

(üstteki) 2. Üçüncü parti uygulamalar (başka

geliştiricilerin)3. Geliştiricinin kendi ürettiği

uygulamalar

çalıştırılmaktadır.

Page 17: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 18: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

ANDROID KURULUMU

Page 19: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 20: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

ANDROID Developer Tools (ADT) kurulumu

Page 21: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 22: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Android Studio KurulumuBilgisayar ve network hızınıza bağlı olarak yaklaşık 20-50 dk. arası kurulum gerçekleşmektedir.

Page 23: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

ANDROID STUDIO IDE TANITIMI

Page 24: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 25: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

ANDROID KODLAMA STİLİ

Page 26: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Yanlış Girinti (Indentation) Örneği

Page 27: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Doğru Girinti (Indentation) Örneği

Page 28: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Program bloklarınızı küçültün

Yazdığınız fonskiyonlar/metodlar olabildiğince küçük ve atomik olmalıdır.

Neden?

Program satırları ortalama 100 karakter civarında olmalıdır, uzun cümleler alta alınmalıdır. Bu şekilde kod okunurluğu artmaktadır.

Page 29: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Kurallar

Sınıf isimleri büyük harfle başlarlar. AppFrame gibi.

Bileşik kelimeler her bir kelimenin ilk harfi büyük yazılmalıdır.

Sabitler tamamen büyük harflerle yazılmalıdır.

Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik kelime yapılacaksa ilk kelimenin ilk harfi küçük sonra eklenen her kelimenin ilk harfleri büyük olmalıdır.

Public erişim belirleyicisi olan her ifade için açıklama yazılsa iyi olur. Bunun javadoc belirleyicisi olan /** ifade */ kullanılır.

Page 30: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Kurallar

Ata sınıftan türeyen sınıflarda tekrar yazılan (ezilen) her method un başına @Override eklemeniz gerekir.

Neden?

Artık ileride kullanılması düşünülmeyen methodlar için başına @Deprecated annotation kelimesi eklenmelidir.

Page 31: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Kurallar

Mümkün olan en dar kapsama alanı olacak şekilde değişken kullanın.

Page 32: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Tüm yerel değişkenlerin ilk değerlerini tanımlandıkları zaman atayın.

Page 33: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

GELİŞTİRİCİ SEÇENEĞİNİN AKTİF EDİLMESİ

Page 34: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Geliştirici Seçenekleri’ni açmak için:

Ayarlar menüsüne ardından açılan menüde en altta bulunan Telefon hakkında (veya Cihaz hakkında) seçeneği seçilir. Samsung ve bazı diğer markalarda Telefon hakkında menüsü Genel altındadır.

Bazı cihazlarda Telefon/Cihaz Bilgisi menüsü altında bir alt menü şeklinde Yazılım menüsü vardır. Öyle ise o menünün içine girin.

Açılan pencerede yine en altta olan Derleme numarası yazan yere üst üstü 7 kez dokunduktan sonra geliştirici açılmış olur. Her dokunmamızda Geliştirici olmanıza 4 adım, kaldı 3 adım kaldı şeklinde bilgi çıkacaktır.

Page 35: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 36: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Run tuşuna bastıktan sonra

Page 37: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

DDMS nedir? Dalvik Debugging Monitoring Service kelimelerinin kısaltılmış şeklidir.

Android Studio da alt kısımda TODO’nun yanında yer alan AndroidMonitor sekmesine basılarak açılan ADB yani Android Debug Bridge ekranıdır.

Bu ekranda debugging işlemlerinin yanısıra, loglama, threading ve sistem kaynaklarının izlenmesi amacıyla kullanılmaktadır.

Page 38: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

LogCat Ekranı

LogCat ekranına program üzerinden loglama yapmak amacıyla kullanılan sınıf android.util.Log isimli sınıftır. Bu sınıf kullanılarak, e, w, i, v, d seçeneklerinde çeşitli seviyelerde loglama yapılarak programın takibi ve önemli yerlerinde bilgilendirmeler yapılabilir.

i: Info bilgi verme amaçlı mavi text ile yazılmıştır.

w: Warning, uyarı anlamına gelir, turuncu renktedir.

e: Error, hata manasındadır, kırmızı renk

v: Verbose, gereksiz bilgi ve fazladan çıktı

d: Debug hata ayıklama amaçlıdır.

Page 39: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Log’lama pattern’i

Loglama yaparken çeşitli pattern ler kullanılabilir. Örnek olması açısından

Log.w(‘’MainActivity.onCreate’’,’’Aktivite yapıldı’’);

Log.e(‘’DBGateway.Insert’’,’’Kayıt eklenemiyor:’’+ex.getMessage());

Log fonkisyonlarının ilk parametresi tag bilgisi, ikinci parametresi ise mesaj veya açıklama bilgisini içermektedir.

Page 40: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Android Emulatörü Telnet üzerinden yönetme

Android emülatör aslında localhost’da 5554 portunda ağ üzerinde haberleşebilen bir cihazdır. Bundan dolayı telnet ile bu cihaza bağlanıp yönetebiliriz.

Bunun için komut satırı penceresini açmalıyız.

Winkey+R bastıktan sonra cmd yazıp entere basıyoruz.

Veya internetten CmDer yazılımını indirip kuruyoruz. http://cmder.net/ sayfasından mini veya full seçeneğini kullanabilirsiniz.

Page 41: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 42: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 43: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 44: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 45: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Android Menüsü

Page 46: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Manifest bölümünde AndroidManifest.xml dosyası bulunur. Bu dosyada XML formatında kullanılan kütüphaneler, verilen izinler (mesela kamera gibi), aktivite ve servisler gibi temel elemanlar vardır.

Java kısmında java kaynak kodlarınız bulunmaktadır.

Res klasöründe ise normalde app ile birlikte derlenmeyen ancak beraberinde tutulan yan unsurlar bulunur. Mesela görseller, drawablede tasarımlar layout kısmında tutulurlar.

Resource yani kaynak dosyalarına her projede ide tarafından üretilen ve final sınıf olan R sınıfı kullanılarak erişim yapılmaktadır. R sınıfının değiştirilmesi engellenmiştir sadece kullanıma açıktır. (read only)

Page 47: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

İLK UYGULAMA

Page 48: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Android Studio ile İlk Uygulama Örneği

Android uygulamasının adı : ColorSelector

SRS (Software Requirement Specification): 1. Ekranın üst kısmına «Background Color Selector» bilgisi yazılmalı.

2. Ekranda alt alta 3 adet buton olmalı.

3. Butonların üzerlerinde red, green, blue yazılmalı.

4. Kullanıcı (User) bu butonlara tıkladığında arka plan zemin rengi buton üzerindeki isimlerle alakalı bir şekilde kırmızı, yeşil veya mavi olarak değiştirilmelidir.

Page 49: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Android Studio’yu Çalıştırma

Page 50: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 51: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 52: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 53: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Virtual Device Yükleme

Page 54: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 55: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 56: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 57: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 58: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 59: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 60: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 61: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 62: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 63: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:id="@+id/activity_main"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context="com.example.bap1.colorselector.MainActivity">

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Hello World!"

android:id="@+id/textView" />

<Button

android:text="RED"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="17dp"

android:id="@+id/btnRed"

android:layout_below="@+id/textView"

android:layout_alignParentLeft="true"

android:layout_alignParentStart="true"

android:layout_marginLeft="14dp"

android:layout_marginStart="14dp" />

<Button

android:text="GREEN"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="23dp"

android:id="@+id/btnGreen"

android:layout_below="@+id/btnRed"

android:layout_alignLeft="@+id/btnRed"

android:layout_alignStart="@+id/btnRed" />

<Button

android:text="BLUE"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/btnBlue"

android:layout_marginTop="28dp"

android:layout_below="@+id/btnGreen"

android:layout_alignLeft="@+id/btnGreen"

android:layout_alignStart="@+id/btnGreen" />

<Button

android:text="show message"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_below="@+id/btnBlue"

android:layout_alignLeft="@+id/btnBlue"

android:layout_alignStart="@+id/btnBlue"

android:layout_marginTop="24dp"

android:id="@+id/btnMessage" />

<EditText

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:inputType="textPersonName"

android:ems="10"

android:layout_alignTop="@+id/btnMessage"

android:layout_toRightOf="@+id/btnMessage"

android:layout_toEndOf="@+id/btnMessage"

android:layout_marginLeft="13dp"

android:layout_marginStart="13dp"

android:id="@+id/editText" />

<Button

android:text="Show Message 2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="21dp"

android:id="@+id/btnMessage2"

android:layout_below="@+id/btnMessage"

android:layout_alignLeft="@+id/btnMessage"

android:layout_alignStart="@+id/btnMessage" />

</RelativeLayout>

Page 64: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 65: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 66: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 67: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

ColorSelector Android Uygulaması

Aşağıdaki videodaki adımları izleyerek colorselector örneğini çalıştırınız.

https://www.youtube.com/watch?v=QRaQbUNZPcI&index=7&list=PLc7fMPfZwlVjb9N5jOyqI73nlJ_ETXpER

Page 68: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Minimum Api Level nasıl değiştirilir?

Page 69: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 70: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 71: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Sync yazan yere tıklayın

Projeyi menüden Build yazan yerden Rebuild yapın. Artık projenizin minimum api seviyesi belirlediğiniz numaraya adapte edilmiştir.

Page 72: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Android’de uygulama geliştirirken dikkat edilmesi gereken kurallar

View nesnelerine layout tasarım ekranında id verirken (xml) ve aynı zamanda kaynak dosyasında (java) değişken olarak tanımlarken birçok geliştirici tarafından kabul görmüş kısaltmaları kullanmak yerinde olacaktır. Bunun için aşağıdaki önekler kullanılabilir;

TextView lbl lbl_isim, lblIsim

EditText txt txt_password, txtPassword

Button btn btn_gonder, btnGonder

CheckBox chk chk_sec, chkSec

RadioButton rdo rdo_ekle, rdoEkle

Page 73: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

Diğer önemli bir nokta da, aktivite kaynak dosyasında (java), nesnelerin findViewById metodu kullanılarak yapıldığı yerin seçilmesidir. Bazı kaynaklarda nesneler onCreate metodunun içerisinde lokal olarak tanımlanmışlardır. Ve gerekli olay-çağrı metodları da bu metodun içerisinde gerçekleştirildiği görülmektedir. Bu tarz bir yaklaşım her ne kadar programın çalışması açısından sorun teşkil etmese de program içerisinde başka bir metoddan ilgili değişkenlere ulaşım imkansız olacağından değişkenlerin mümkünse global özellikli sınıf değişkeni olarak tanımlanmasında fayda bulunmaktadır.

Hatta, onCreate olayında setContentView komutundan hemen sonra, yazacağınız bir init() metodu içerisinde nesne üretimini gerçekleştirmeniz kod karmaşıklığını azaltarak okunurluğu arttıracaktır.

Page 74: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik

farklı onClickListener kodlama yaklaşımları

Page 75: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 76: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 77: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik
Page 78: BH210-MOBİL CİHAZ PROGRAMLAMAmusaatas.siirt.edu.tr/ANDROID/dersNotlari/bolum_1.pdf · Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik Ancak bileşik