Android Programlama 2014-2015 BAHAR



Benzer belgeler
Android Programlama BAHAR

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Android ile Mobil Programlama

Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

Android Platformunda Uygulama Geliştirme.

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

1 GİRİŞ 1 Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?


Android Uygulamalarında Güvenlik Testi

ANDROID AÇIK AKSESUAR API & AKSESUAR GELİŞTİRME. Dr. Fatma Cemile Serçe

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

C# nedir,.net Framework nedir?

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi. Genel Bilgiler ve Uygulama. BLM401 Dr.Refik SAMET

ÖZET. Anahtar kelimeler: Programlama Dili Olarak Java, Java Dilini Tanıyalım, Nedir Bu Java?, Java Sanal Makinesi Nedir?

Java Programlama Giriş

MOBIL UYGULAMA GELIŞTIRME

MOBİL İŞLETİM SİSTEMLERİ (MOBILE OPERATING SYSTEMS)

Bilişim Teknolojilerine Giriş

İÇERİK 2 Java Kodlaması için Gerekli Programlar JRE, JDK kurulması ve Başlangıç Ayarları Java Kodlamayı Kolaylaştıran IDE ler Java Kod Yapısı İlk Java

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş

Bilgisayar donanım ve yazılım olmak üzere iki bölümden oluşur. Bilgisayarın çalışabilmesi için, ikisi de gereklidir.

Windows XP: Virtual Memory / Sanal Bellek Perşembe, 07 Eylül :51 - Son Güncelleme Salı, 12 Eylül :07

2 CORDOVA UYGULAMA DİZİN YAPISI 9 Cordova Uygulama Dizin Yapısı 9 www Klasörü 10 platforms Klasörü 11 plugins Klasörü 12 merges Klasörü 15

MOBİL UYGULAMA GELİŞTİRME

ANDROİD. Melih Hilmi Uludağ. «Bir tutkunun sonucu»

BLM401 Mobil Cihazlar için ANDROID İşletim Sistemi. Genel Bilgiler ve Uygulama Geliştirme Ortamının Kurulumu. BLM401 Dr.

Açık Kaynak Kodlu Yazılım

Muhar a r r e r m e T a T ç J PT Gel e e l c e e c k e o k nli l n i e And n r d oi o d i Nedi d r

4. Bölüm Programlamaya Giriş

JAVA MOBIL UYGULAMALAR

BİLGİSAYAR PROGRAMLAMA (C#) DERS NOTU 1

Mobil Güvenlik Eğitimi Türk Standardları Enstitüsü Yazılım Test ve Belgelendirme Dairesi Başkanlığı

Yazılım/Donanım Farkı

Java JDK (Java Development Kit) Kurulumu:

KULLANICI KULLANIM KILAVUZU

Java 2 Micro Edition (J2ME)

-Bilgisayarı oluşturan iki temel unsurdan diğeri ise YAZILIM dır.

İÇİNDEKİLER VII İÇİNDEKİLER

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi UYGULAMA KAYNAKLARI. BLM401 Dr.Refik SAMET

Bahar. BM 211 Programlama Dilleri 3 1

Bazı Gömülü Sistemlerde OpenCV ile Performans Analizi

Kaynak Kodlardan Derleme. Turquaz Muhasebe. Versiyon 0.2. Hüseyin Ergün. 26 Mart 2005

Mobil Test Otomasyon Araçları Bilgilendirme Test Ekibi Şubat 2017

T.C. GEBZE YÜKSEK TEKNOLOJİ ENSTİTÜSÜ

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 4423

Java Temel Özellikleri

Akılda kalıcı sahneler

1 Milyon Kullanıcıya Nasıl Hizmet Veriyoruz? CloudLMS Teknik Alt Yapı ve Mimarimiz

Teknoloji ile Tanışalım

Andorid İşletim Sistemi Uyumlu Ösym Sınavları Uygulaması

Karabük Üniversitesi Bilgi Sistemi Android Uygulaması. Android Application of Karabük University Information System

SOSYAL SORUMLULUK PROJESİ

Zararlı Yazılımla Mücadele Eği7mi

Data Structures Lab Güz

Linux e Giriş ve Dağıtımlar

1.4. BİT Nİ KULLANMA ve YÖNETME

BBS515 Nesneye Yönelik Programlama. Ders 1 Zümra Kavafoğlu

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

2000 li yıllardan itibaren teknolojinin hızlı gelişiminden belki de en büyük payı alan akıllı telefon ve tabletler gibi kablosuz iletişim olanağı

CAN TECİM HEDEF DENEYİM. Tecrübe bütün öğretmenlerin en iyisidir. Publilus Syrus

1 LK ANDROID YAZILIMIMIZ VE ÖN HAZIRLIKLAR

Bilgi güvenliği konusunda farkındalık yaratmak. Mobil cihazlardaki riskleri anlatmak. Mobil uygulamaların bilgi güvenliği açısından incelemek 2

İşletim Sistemleri (Operating Systems)

Android Platformunda OpenCV İle Görüntü İşleme

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

Linux İşletim Sistemleri. Eren BAŞTÜRK.

UFUK ÜNİVERSİTESİ MERKEZ KÜTÜPHANESİ MENDELEY KULLANIM KILAVUZU

EYLÜL 2012 İŞLETİM SİSTEMLERİ. Enformatik Bölümü

Java ile OpenGL e Giriş. NetBeans IDE si üzerinden kurulum

İşletim Sistemleri; İÇERİK. Yazılım BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI Yazılım Türleri

Temel Bilgisayar (Basic Computer) Yazılım (Software)

Bilgisayar Yazılımları

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

VIRTUALIZATION SANALLAŞTIRMA

Efe Çiftci Çankaya Üniversitesi Bilgisayar Mühendisliği Bölümü Kasım 2012 CENG 191 Computer Engineering Orientation Özel Sunumu

18. Esri Kullanıcıları Konferansı 7-8 Ekim 2013 ODTÜ, Ankara Teknik Atölye. ArcGIS for Mobile. Kürşad Demirer

Nevşehir Hacı Bektaş Veli Üniversitesi Bilgi Portalı Android Uygulaması

Bireysel İnternet Şubesi

GoPro APP Nedir ve Yazılım Nasıl Güncellenir?

Bilgisayar Sistemlerine Genel Bakış

Dijital Katalog Nedir?

WINDOWS 7. Eğitim ID 98 2/4 (Normal Seviye Kullanıcı) Konu ID Windows 7 Hakkında Genel Bilgi Ek Bilgi -

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

Kurulum ve Sistem Gereklilikleri 1

1.1. Yazılım Geliştirme Süreci


Assembly Dili Nedir? Assembly dili biliyorum derken hangi işlemci ve hangi işletim sistemi için olduğunu da ifade etmek gerekir.

WeldEYE. Kurulum Kılavuzu. İçindekiler

BİT in Temel Bileşenleri (Yazılım-1)

GoGEAR SA4MUS08 SA4MUS16 SA4MUS32

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Sertan Kolat

YMT 412-Yazılım Kalite Ve Güvencesi Mobil Uygulama Testi 1/32

BİL 542 Paralel Hesaplama. Dersi Projesi. MPJ Express Java Paralel Programlama

Mobil Uygulama Geliştirme Yaklaşımları, Web Tabanlı Mobil Uygulama Çatıları. Burak USGURLU

Transkript:

Android Programlama 2014-2015 BAHAR MAKU-TBMYO 2015

DEĞERLENDĠRME AKTS ders kataloğuna göre

Genel Kavramlar Android GeliĢtirme Araçları Android Kaynakları Activity Intent Layout Frame Servisler Dosyalar SqlLite Sensörler Google MAP API Konu BaĢlıkları

Mobil Telefon Anakartı Kaynak: http://www.cs.dartmouth.edu/~campbell/cs65/cs65-2014.html (22/02/15)

Bir Mobil Cihazdaki Sensörler Kaynak: http://www.cs.dartmouth.edu/~campbell/cs65/cs65-2014.html 22/02/15

Sensörler 1. Barometre: Hava basıncını ölçerek dağa tırmanırken kaç kalori yakıldığını hatasız olarak hesaplar. 2. Hall sensörü: Katlanır kapağın durumunu algılar. Böylece kapak açılınca ekran ıģığı da açılır, kapandığında ise ekran ıģığı otomatik olarak kapanır. 3. RGB ortam ışığı sensörü: Ekranı otomatik olarak aydınlatarak veya karartarak göz yorgunluğunu azaltır. 4. El Hareketi sensörü: Kullanıcılar telefonlarına dokunmadan, sadece ellerini hareket ettirerek telefonlarıyla etkileģimde bulunabilirler. 5. Yakınlık sensörü: Telefon görüģmesi sırasında ekranı kapatır. 6. Jiroskop: Kullanıcılar ekranı yukarı ve aģağı eğerek kolayca metin okuyabilirler. 7. Hareket Sensörü: Adımölçerle benzer iģlevleri vardır ve zinde kalmak konusunda yardımcı olacak özellikler sunar. 8. Jeomanyetik sensör: Ana yönleri hatasız saptayabilmek üzere haritalardan faydalanır.

Bazı Mobil Cihaz Uygulama GeliĢtirme Araçları Android Studio (Java) Eclipse IDE (Java) Xcode ( Objective-C, Swift) Visual Studio C#.NET ============================ VindDev Mobile Telerik (Online - HTML5 ile) MIT App Inventor (On-line) =========OYUN============== Corona SDK Unity

Android Nedir? Andrid Google Firması tarafından 2005 yılında geliģtirilmeye baģlanmıģ Telefon Tablet Saat TV gibi cihazları programlanması için Java Programlama Dilini kullanan ve Linux Tabanlı (kernel) tabanlı bir İŞLETİM SİSTEMİDİR

Linux Tabanlı Neden Android? Samsung, LG, Sony, Huawei,... vb. firmaların ortak Ücretsiz geliģtirme aracı Java dili ile geliģtirilir (ios için kullanılan Object-C ve Swift gibi zor diller kullanmaz) GeniĢ Kullanım Alanı ( Mobil telefon, Tablet, Otomobil, TV, Blue Ray, vb. gibi) Farklı yerlerden kurulabilir (GoogleStore, direkt yükleme,..) Bol miktarda kaynak döküman Registery-based olduğundan küçük iģlemcilede az bellekle çalıģabilir Arkasında Google gibi bir firma olması

Android Uygulamaları (SANDBOX) Android iģletim sistemi üzerinde çalıģan her bir uygulama için ayrı bir iģlem ve sanal makina ( DVM: Dalvik Virtul Machine) ayrılır. Böylece uygulamalar birbirinden izole olarak çalıģır. Bu güvenlik açısından önemlidir. Android uygulamaları GoogleAppStore üzerinden dağıtımı yapıldığında üretici firma anahtarı ile yüklenir. Dolayısıyla hangi uygulam hangi üretici tarafından geliģtirildiği bellidir. Aynı üretici tarafından geliģtirilen farklı uyggulamalar aynı üretici koduyla yüklenir. Android Uygulama-1 Android Uygulama-2... Kendine ait bir Prosess Kendine ait ĠĢletim sistemi kullanıcısı Kendine ait bir DVM Hafızadan ayrılmģ bellek(heap) Kendine ait kanaklar Kendine ait bir Prosess Kendine ait ĠĢletim sistemi kullanıcısı Kendine ait bir DVM Hafızadan ayrılmģ bellek(heap) Kendine ait kanaklar Android Uygulama-N Kendine ait bir Prosess Kendine ait ĠĢletim sistemi kullanıcısı Kendine ait bir DVM Hafızadan ayrılmģ bellek(heap) Kendine ait kanaklar

Android Mimarisi Android ĠĢletim sistemi, adres defteri, telefon arama, notification, 2D/3D grafik, database, security/encryption, camera, ses, input/output, web.. gibi kütüphaneler sağlar. 4 3 Java Kodlar Derlenerek DVM binary kodlara dönüģtürülür 2 1 http://developer.android.com/images/system-architecture.jpg

1-Linux Çekirdeği(Kernel)

2-Android Yerel Linux Kütüphanesi (Android Linux Library)

Dalvik Virtual Machine Dalvik Virtual Machine Hızlı CPU ihtiyaç duymaz Swap alana ihtiyaç duymaz Sınırlı batarya ömrü Küçük RAM lara ihtiyaç duyar Örn: Toplam 64 Mb, ÇalıĢma sırasında yaklaģık 10 Mb

Dalvik Virtual Machine Bir.dex dosyada birden çok class vardır Stack-based yerine registered-based dir Modifiye edilmiģ garbage (çöp toplama) GeliĢtirilmiĢ memory paylaģımı (sharing) Ġnstal zamanında optimize edilir

DVM ye karģı ART (OTM) Dalvik VM (Dalvik Virtual Machine) Dan Bornstein tarafından Android iģletim sistemi için özel olarak geliģtirilmiģ bir sanal makinadır. Java olarak yazılan uygulama kodları (.class) derleyiciler tarafından Dalvik VM in okuyabileceği bytecodelara çevrilerek toplanır ve.dex uzantılı dosyada dönüģtürülürler. Bu.dex uzantılı dosyalar Dalvik VM in çalıģtırılabilir(executable) dosya uzantılarıdır. Dalvik VM düģük hafıza kullanımından dolayı sevilmektedir. Dalvik VM için ön görülen min RAM kapasitesi 64 MB olarak belirtilmektedir. ĠĢletim sistemi baģladıktan sonra 20 MB RAM kapasiti bulundurmaktadır. Dalvik VM, Android 2.2 ile birlikte Just-In-Time derleyici olarak yoluna devam etmiģtir. JIT olarak bilinen ve çalıģma zamanlı derleme yapısı Android 4.4 ile yerini Ahead-of-Time (AOT) derleyiciye bırakmaya baģlamıģtır. ÇalıĢma öncesi derleme yapısı AOTGoogle firması tarafından ART olarak sunulmuģtur. ART Android RunTime ile yoluna devam eden Android iģletim sistemi için performans kazandırılacağı düģünülmektedir. Çünkü JITyani çalıģma zamanlı derleme, Uygulamaların çalıģma zamanında ele alarak bytecodelarının okunup, iģlemci üzerinde yorumlanmasıyla çalıģmakta iken AOT yani çalıģma öncesi derleme ile bu yapı Uygulamaların kurulma aģamasında derlenip çalıģma esnasında derlenme ile zaman kaybetmemesi sağlamaktadır. Buda Android için daha az iģlemci ve ram anlamına gelmektedir. Kaynak (23/02/15): http://ibrahimbalic.com/tag/android-art/

Android Sürümleri Program yazarkan API level önemli An itibarı ile en piyasadaki en çok sürüm.

Android Versiyonlarına göre Piyasada Kullanım Oranları

22 ġubat 2015 httphttp://www.idc.com/prodserv/smartphone-os-market-share.jsp

SEÇENEK-I Android GeliĢtirme Araçları 1- Java Developer Kit (JDK) 2- Android Studio (Android Virtual Device birlikte) SEÇENEK-II 1- Java Developer Kit (JDK) 2- Eclipse ( Java Software Developer Kit) 3- Android Developer Toolkit 4- Emülatör (AVD, GenyMotion)

Android Studio Google Android Studio 1.1, IntelliJ IDEA editor temeline dayanıyor.

Android Studio 1.1 Kurulumu 1- Download Android Studio http://developer.android.com/sdk/index.html 2-Install ADT Plug-ins and Android SDK https://dl-ssl.google.com/android/eclipse/ 2 GB RAM minimum, 4 GB RAM recommended 400 MB hard disk space At least 1 GB for Android SDK, emulator system images, and caches 1280 x 800 minimum screen resolution Proxy ayarları: http://developer.android.com/tools/studio/index.html

Android Uygulama Build ĠĢlem Süreci Android Uygulaması Java Kodu Ornek1.java Ornek1.class Ornek1.dex javac ( Java Compiler) dx (Dalvik Compiler) Kaynak dosyalar Ornek1.apk GoogleAppStore DVM Dalvik Virtual Machine ANDROID ĠġLETĠM SĠSTEMĠ

Android Uygulaması Kaynakları Android Uygulaması Java Kodu XML dosya Diğer AndroidManifast.xml -Projenin ayarlamalarının yapıldığı dosya src/java/... - Java class kaynak dosyaları res/... ( kaynak dosyalar (xml) ) -dreawable / (resimler) -layout/ (GUI tanımları) -menu/ (menu değerleri) -values/ (sabit değerler ve diziler) -strings ( değiģkenler) -styles (görünüm stilleri) Gradle -build/compile yönetim sistemi -build.gradle (ana build ayarları dosyası) XML: Tasarım ve diğer alfasayısal verilerin bılunduğu xml tabanlı kaynaklar AndroidManifest.xml Active_main.xml, menu.xml, values.xml, color.xml styles.xml dimension.xml Resim Kaynak dosyaları (png, jpeg, gif ve nine-pitch(.9.png)) Diğer Kaynaklar (raw) ( video, ses, pdf, txt vb. ) SQLLite (dtabase)

Android Uygulaması

Android Emulator Emülatörler Android programını gerçek cihazda çalģıyormuģ gibi, sanal cihazlar üzerinde denemek için gerekli programlardır. Android Studio ile birlikte Android Virtual Device (AVD) emülatörü gelmektedir. Cok kullanılan bazı Emülatörler 1-Android Virtual Device (AVD) 2-GenyMotion (Download GenyMotion) 3-BluStacks (Download Bluestacks) 4-You wave (Download You Wave) 5-Windroy 6-AndyRoid 7-Droid4X 8-Xamarin 9-DuOS-M 10- Web tabanlı emülatör (https://www.manymo.com/emulators) Emülatör Hızlandırma: http://www.javacodegeeks.com/2013/12/android-boost-up-the-android-emulator-speed-up-to-400-on-intel-based-architecture.html

Android Uygulamsı Test Araçları Applause applause.com. AppThwack appthwack.com. Testdroid www.testdroid.com Kaynak(03/03/2015):/https://software.intel.com/en-us/android/articles/services-to-test-your-android-apps-on-intel-devices Services to Test Your Android Apps on Intel Devices, Joshua A. Bancroft on May 22, 2014