BIL4106 - MOBiL PROGRAMLAMA TEKNiKLERi Yard. Doç. Dr. Oğuzhan Topsakal oguzhantopsakal@uludag.edu.tr 12.03.2015
Bu Derste Android’e giriş Android Studioya giriş 2
Hava Durumu App - 1 Adım adım hava durumu app geliştireceğiz. Neden? Herkes için bilinen bir olgu. Nasıl bir app olabileceği konusunda herkesin bir fikri var Android app geliştirirken karşımıza çıkan birçok unsura dokunabileceğiz. Birçok önemli api kullanılabilecek 3
Hava Durumu App - 2 ilk ekran Günün durumu Sonraki günler ikonlar ve renkler 4
Hava Durumu App - 3 Detay ekranı Tıklanan günün detayları Nem, basınç ve rüzgar 5
Hava Durumu App - 4 Ayarlar Yer ve diğer seçenekler 6
Hava Durumu App - 5 Uyarılar (Notifications) Belirli bir saatte verilen uyarılar 7
Android Studio Nasıl Kurulur Kurulumun detayları (ingilizce olarak) eposta gönderildi, aşağıdaki adresten öğrenilebilir: https://docs.google.com/document/d/1X- l__65Otgc6vHgzkOf6LLzJlXyl7QiboLHBmn7ziq8/pub 8
Android Versiyonları Kod Adları 9
Android Versiyonları Dağılımı 2014 sonu itibariyle 10
Android App Ayarları min SDK versiyonu Neden minimum SDKyi en düşük versiyona koymayız? min SDK den sonra çıkan önemli özelliklere erişemeyiz target SDK versiyonu En son hangi versiyonda test edildiğini ve sorunsuz çalıştığını gösterir SDK de önemli değişiklikler olursa target SDK versiyonundaki davranışa göre SDK size çalıştırır. target da sonraki değişiklikleri appnizin çalışmasına yansıtmaz target SDKyi en son android versiyonuna ayarlamalıyız 11
Android Studio ile İlk Projemiz - 1 Hep beraber ilk projemizi oluşturalım. Android Studioyu çalıştırın ve Start a new Android Studio Projecti seçin. 12
Android Studio ile İlk Projemiz - 2 Tekil (Unique) isim verin 13
Android Studio ile İlk Projemiz - 3 Seçebileceğiniz en düşük min SDK (API) versiyonunu seçin. 14
Android Studio ile İlk Projemiz - 4 ‘Help me choose’ seçildiğindeki oranları gözden geçirin. 15
Android Studio ile İlk Projemiz - 5 ‘Blank Acitivity with Fragment’ ı seçin. Varsayılan değerleri kabul edin. 16
Android Studio ile ilgili ipuçları Android Studio her açılışta size ipuçlerı verir, bunları okuyun. 17
Android Studio ile İlk Projemiz - 6 İlk ekranınız 18
Android Studio ile İlk Projemiz - 7 App min ve target versiyonlarını kontrol edebilirsiniz app nin üstüne sağ tıklayarak app icon u değiştirebilirsiniz. Aşağıdaki adresten ücretsiz (free) icon bulabilirsiniz: http://www.iconfinder.com 19
Android Studio ile İlk Projemiz - 8 ‘Run - Run App’ ı seçin ve bağlı cihaz yada emulatorü seçin 20
Emulatörü Ayarlamak 21
Örnek App Kodları File - Import Sample Örnek projeleri incelemek en faydalı öğrenme şekillerinden birisi olabilir 22
App Nasıl Oluşturulur Run tuşuna basıldığında arka planda olan birçok işlem vardır. 23
App Nasıl Oluşturulur Gradle (gradle.com) tarafından derlenir ve APK içine paketlenir. (Android Studio dan Gradle konsola bakın) JarSigner tarafından imzalanır ADB (Android Debug Bridge) (http://developer.android.com/tools/help/adb.html) tarafından cihaza veya emulatora yüklenir 24
App Cihaza Nasıl Yüklenir Geliştirici (Developer) mod aktif hale getirmek için: Cihazın ‘Ayarlar’ (Settings) menüsüne gidin, ‘Hakkında’ (About Phone) kısmına tıklayın, ‘Derleme Numarası’ (Build Number) na 7 kez tıklayın Tekrar ‘Ayarlar’ (Settings) menüsüne gittiğinizde Geliştirici (Developer) seçeneklerini göreceksiniz. Windowsda cihazınızı tanıması için EOM sürücü yüklemelisiniz: http://developer.android.com/tools/extras/oem-usb.html Cihazınızın "debuggable" olduğunu manifest yada build.gradle dosyalarından kontrol edin: androidmanifest.xml <application> elementi içine ekleyin=> android:debuggable=“true” build.gradle android { buildTypes { debug { debuggable true } ‘adb devices’ komutu ile bağlı cihazları listeleyebilirsiniz. ‘adb’ dosyası ‘platform-tools/‘ klasörü içindedir. Diğer ayrıntılar için: http://developer.android.com/tools/device.html 25
App yi Konsoldan Çalıştırmak Opsiyoneldir, ‘run’ butonuna basmakla ayni etkiyi yapar. chmod +x gradlew Sadece 1 kere calistirilan unix komutudur ve graddlew’a calisma yetkisi verir. ./gradlew assembleDebug Bu komut kodunuzu derler. adb install -r app/build/outputs/apk/app-debug-unaligned.apk Bu komut apk yi cihaziniza yukler. Eger birden fazla cihaz bagli ise ‘-s’ ile cihaz seri numarasini belirtmeniz gerekir. adb shell am start -n com.example.android.sunshine.app/com.example.android.sunshine.app.MainActivity Bu komut appyi calistirir. 26
Android Studio Klasör Yapısı Proje klasörlerini Android modunda yada Project modunda listeleyebilirsiniz. libs/ - özel kütüphaneleri içerir app/src/ - Bütün kaynak kodlarınızın olduğu kalsördür. Kodlar, resimler, XML dosyaları ve diğer projenize özel dosyalar bulunur. main ve androidTest klasörleri bulunur. main klasöründe kodunuz ve androidTest dosyasında testing kodunuz bulunur. app/src/main/java - java kodunuz bulunur app/src/main/res - destek dosyalar bulunur. içinde aşağıdaki klasörler bulunur: layout - ekranları tanımlayan XML dosyaları menu - menüleri tanımlayan XML dosyaları drawable - appde kullanılan resimler, ikonlar values - sabit değerleri tutan dosyalar xml - ayarları tutan xml dosyaları app/src/main/AndroidManifest.xml - en önemli dosyalardan birisidir. ana ayarları içerir. 27
Android Studioda Ekran Tanımlamak fragment_main.xml dosyasını değiştirerek çalıştırın ve nelerin değiştiğini görün. 28
Ödev - App Ekranlarınızın Tasarımı - 1 Appnizde olacak olan ekranların diyagramını çizin. 10 ekrandan fazla ekranınız olmasın, yetiştiremeyebilirsiniz. 29
Ödev - App Ekranlarınızın Tasarımı - 2 Butun ekranlarınızı tasarlayın ve hangi ekrandan hangi ekrana geçiliyor belirtin. Her ekranda hangi widgetları kullacağınızı belirtin Aşağıdaki fonksiyonaliteleri hangi ekranlarda, nasıl sağladığınızı belirtin Kullanıcıdan veri almak Veriyi veritabanına yazmak Veritabanından bilgi getirmek Lokasyon bilgisine erişim Webservislerine erişim 30
Wireframe Sitelerine Örnekler http://ninjamock.com/ https://proto.io/ http://www.justinmind.com/mobile http://wireframesketcher.com/ 31
Kaynaklar Screen Planning & Wireframe http://developer.android.com/training/design-navigation/screen-planning.html http://developer.android.com/training/design-navigation/wireframing.html Udacity - Developing Android Apps (Google tarafından) https://www.udacity.com/course/viewer#!/c-ud853/l-1395568821/m- 1643858569 32