Android Programlama 2015-2016 BAHAR



Benzer belgeler
Android Programlama BAHAR

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

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 Platformunda Uygulama Geliştirme.

Android ile Mobil Programlama

Demodülasyon Algoritmaları İçin En İyilenmiş Windows İşletim Sistemi Uygulamaları

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


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

JAVA MOBIL UYGULAMALAR

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?

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

C# nedir,.net Framework nedir?

Teknoloji ile Tanışalım

İÇ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

Bahar. BM 211 Programlama Dilleri 3 1

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

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

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

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

4. Bölüm Programlamaya Giriş

Android Uygulamalarında Güvenlik Testi

Akılda kalıcı sahneler

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

Android Uygulamalarında Güvenlik Testi

Java, Python ve Ruby Dillerinin Performans Karşılaştırması

08217 Internet Programcılığı I Internet Programming I

Java Programlama Giriş

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

Java JDK (Java Development Kit) Kurulumu:

Java ile Android Mobil Yazılım Uzmanı (Android App Development)

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

Java Temel Özellikleri

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

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

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

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

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

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

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

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

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

MOBIL UYGULAMA GELIŞTIRME

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

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

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

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

Java 2 Micro Edition (J2ME)

Kurulum (Windows)...3

Bilişim Teknolojilerine Giriş

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

DynEd İngilizce g Dil Eğitimi

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

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

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

Yazılım Mühendisliğine Giriş 2018 GÜZ

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

GÖRSEL PROGRAMLAMA - I

Bölüm 1 Bilgisayar ve C Programlamaya Giriş

Sistem Programlama. (*)Dersimizin amaçları Kullanılan programlama dili: C. Giriş/Cıkış( I/O) Sürücülerinin programlaması

Açık Kaynak Kodlu Yazılım

Tekir (Ön Muhasebe Yazılımı)

DruzOnline Otomasyon Programı Kurulum Bilgileri

Yazılım/Donanım Farkı

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

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

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

İşletim Sistemlerine Giriş

AutoCAD Yenilikler

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

MSSQL Server 2000 Kurulumu

Doğu Akdeniz Üniversitesi Bilgisayar ve Teknoloji Yüksek Okulu Bilgi teknolojileri ve Programcılığı Bölümü DERS 1 - BİLGİSAYAR VE ÇEVRE ÜNİTELERİ

Windows 7 or 2 GB 2 GHz Mac OS GB 1 GHz Intel. Placement Tests. English for Success Teacher Training

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ğı

BİLGİSAYAR MİMARİSİ. Mimariye Giriş. Özer Çelik Matematik-Bilgisayar Bölümü

İşletim Sistemleri (Operating Systems)

Linux ve Windows Üzerinde C ve C++ Kullanımı

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

Bölüm1. İlk Bilgiler ISBN

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

Linux Dosya Yapısı. Eren BAŞTÜRK.

GörüntüĐşlemede Yeni Bir Soluk, OpenCV

TEMEL BİLGİ TEKNOLOJİSİ KULLANIMI. Enformatik Bölümü

MOBİL UYGULAMA GELİŞTİRME

İŞLETİM SİSTEMLERİ. Enformatik Bölümü

Bilgisayarın Yapıtaşları

AutoCAD Mechanical 2012

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

Windows Eski Sürümleri Bellek Yapısı

Sanallaştırma Nedir? Bahadır Demircioğlu. Şubat, 2013

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

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

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

Öğr.Gör. Gökhan TURAN Gölhisar Meslek Yüksekokulu

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

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

Yrd. Doç. Dr. İlhan AYDIN Güz Dönemi Fırat Üniversitesi Bilgisayar Mühendisliği Bölümü

Cloud Computing and Virtualization. Cloud Computing and Virtualization. Tarkan Eyerci Cybersoft

Transkript:

Android Programlama 2015-2016 BAHAR MAKU-TBMYO 2016

Genel Kavramlar Android Geliştirme Araçları Android Kaynakları Activity Intent Layout Frame Servisler Dosyalar SqlLite veri tabanı Web Servis uygulamaları Sensörler Google MAP Uygulaması Konu Başlıkları

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

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

Bir Mobil Cihazdaki Bazı Sensörler (Hall) Kaynak: http://smartphoneworld.me/hello-world-2/ 22/02/2016

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

Android Nedir? Andrid Google Firması tarafından 2005 yılında geliştirilmeye başlanmış Telefon Tablet Saat TV Otomotiv gibi araçların/cihazları programlanması için Java Programlama Dilini kullanan, 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

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ı uygulamalar aynı üretici koduyla yüklenir.

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. DVM-1 DVM-2 DVM-N 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 4 3 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. 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ü JIT yani ç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/2015): http://ibrahimbalic.com/tag/android-art/

Android Sürümleri 6.0 22,23 Marshmallon Program yazarken API level önemli An itibarı ile piyasadaki telefonlarda en çok kullanılan sürüm.

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

15 Şubat 2016 http://www.idc.com/prodserv/smartphone-os-market-share.jsp

15 Şubat 2016 http://www.idc.com/prodserv/smartphone-os-market-share.jsp

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

Android Studio Kurulum 1- Java SDK kurulumu http://www.oracle.com/technetwork/java/javase/downloads/index.html 2- Download Android Studio http://developer.android.com/sdk/index.html Windows için sistem gereksinimleri: Microsoft Windows 8/7/Vista (32- or 64-bit) 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 Java Development Kit (JDK) 7 Optional for accelerated emulator: Intel processor with support for Intel VT-x, Intel EM64T (Intel 64), and Execute Disable (XD) Bit functionality

Eclipse ADT Kurulumu 1- Download Java SDK http://www.oracle.com/technetwork/java/javase/downloads/index.html 2- Download Eclipse http://www.eclipse.org/downloads/packages/eclipse-ide-java-eedevelopers/marsr 3-Install ADT Plug-ins and Android SDK https://dl-ssl.google.com/android/eclipse/

Android Studio

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

Android Uygulaması

Android Uygulaması Kaynakları Android Uygulaması Java Kodu XML dosya Diğer AndroidManifast.xml -Projenin ayarlarının yapıldığı dosya src/java/... - Java class kaynak dosyaları res/... ( kaynak dosyalar (xml) ) -dreawable (resimler) -layout/ (GUI dosyaları) -menu/ (menu dosyası) -values/ (sabit değerler ve dizi dosyası) -strings (değişkenler dosyası) -styles (görünüm stilleri dosyası) Gradle -build/compile yönetim sistemi -build.gradle (ana build ayarları dosyası) XML dosyalar: 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 Sanal Makinesi (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ı emulatö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ı 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