Muharrem Taç JDPT Gelecekonline Android Nedir 1
Android Nedir? Google ın 5 Kasım 2007 de 34 şirket ile birlik olarak çalışmalarına başladığı mobil işletim sistemi projesidir. Şu an 65 şirket bu birliktedir. Bu birliğin adı Open Handset Alliance dır ve web sitesi : http://www.openhandsetalliance.com Android sadece bir işletim sistemi değildir. Yazılım geliştirme platformu, SDK sı, Eclipse Plugini, API si ve Android Market ile birlikte dev bir ekosistemdir. Open Handset Alliance 2
Android in Özellikleri Linux kerneli Uygulama çatısı Dalvik Virtual Machine (Java) Webkit tabanlı dahili internet tarayıcısı SQL Lite veritabanı Video-Ses desteği (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM telefon desteği 3B ve 2B gelişmiş grafikler Bluetooth, EDGE, 3G, ve WiFi (donanıma bağımlı) Kamera, GPS, pusula ve akselerometre (ivmeölçer) (donanıma bağımlı) Zengin uygulama geliştirme ortamı (emülatör, Eclipse plugin) Android Market Multitasking Android in Özellikleri System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices Media Libraries - based on PacketVideo's OpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG Surface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view SGL - the underlying 2D graphics engine 3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer FreeType - bitmap and vector font rendering SQLite - a powerful and lightweight relational database engine available to all applications 3
Android Mimarisi Versiyonlar 4
Versiyonlar Versiyon 1.1 ilk sürüm olarak söyleyebiliriz. Versiyon 1.5 Cupcake Versiyon 1.6 Donut Versiyon 2.0 2.1 Enclair Versiyon 2.2 Froyo Gingerbread (?) Versiyonlar 5
Enteresan Uygulamalar Enteresan Uygulamalar Android in ve donanımın desteklediği özelliklere göre pusula, akseloremetre, GPS gibi özellikleri kullanan uygulamalar yaygınlaşmaktadır. Özellikle Layar Augmented Reality konseptiyle bakılan yer hakkında görsel bilgiler vermektedir. Bunun yanında pusulalar, Panoramio gibi konum bilgisine dayalı fotoğrafçılık uygulamaları, Google Maps API kullanan uygulamalar, Jedi ışın kılıcı, Zippo çakmak, her türden harekete duyarlı oyunlar vs. Android üzerinde çalışmakta ve geliştirilmektedir. 6
Enteresan Uygulamalar Layar Android Marketleri Android Market Slideme 7
Android Marketleri AndAppStore Samsung Fun Club Market Android Araçları Kaynak : Ersin KOÇ 8
Android Yazılım Geliştirme Android SDK Eclipse Android Plugin 9
Android SDK Đçeriği Emülatörler, Dökümanlar, Örnek kodlar, USB sürücüleri (usb_driver/android_winusb.inf), Versiyonlar, Güncelleme sihirbazı, Araçlar Android SDK Đçeriği Virtual Devices 10
Android SDK Đçeriği Virtual Devices Emulator 1.1 Android SDK Đçeriği Virtual Devices Emulator 1.5 11
Android SDK Đçeriği Virtual Devices Emulator 1.6 Android SDK Đçeriği Virtual Devices Emulator 2.0 12
Android SDK Đçeriği Virtual Devices Emulator 2.1 Android SDK Đçeriği Virtual Devices Emulator 2.2 13
Android SDK Đçeriği Installed Packages Android SDK Đçeriği Available Packages 14
Android SDK Đçeriği Settings Android SDK Đçeriği About 15
Android Eclipse Plugin Android Eclipse Plugin Eclipse ile Android üzerinde yazılım geliştirme, development, debugging, test ve deployment yapılmasına imkan veren plugindir. Eclipse Help-> Install New Software yolu ile giderek aşağıdaki adres eklenir: https://dl-ssl.google.com/android/eclipse/ ssl.google.com/android/eclipse/ 16
Android Eclipse Plugin Eclipse Android plugin şunları sağlar : Android Eclipse Plugin Dalvik Debug Monitor Server (DDMS) perspective, Eclipse içinden Android SDK and AVD Manager bağlantısı, Allocation Tracker view, Devices view, Emulator control view, File Explorer view, Heap view, LogCat view, Resource Explorer view, Threads view, New Android Project Menu 17
Android Eclipse Plugin Dalvik Debug Monitor Server (DDMS) Perspective Android Eclipse Plugin Eclipse Plugin indirildikten sonda Android SDK yı Eclipse e bildirmek gerekiyor. Window -> Preferences -> Android yolundan. 18
Yeni Android Projesi Eclipse File -> New -> Other Android -> Android Project Yeni Android Projesi Project name : Proje adı Build target : Android versiyonu, mutlaka seçiyoruz, Application Name : Android in uygulamayı göreceği isim. Package name : Uygulamanın kullanacağı paketlendirme, mecburi alan. 19
Yeni Android Projesi Bir sonraki ekranda istersek test projesi de yaratabiliriz. Yeni Android Projesi Projemiz ve Test projesi yaratıldı. Klasörler şöyle : src, gen, res. ---------------------------------------------- AndroidManifest.xml ve default.properties adında iki dosya var. 20
Yeni Android Projesi Proje içerisinde bir de çalışmaya hazır Activity var. Bu haliyle çalıştırabiliriz. Yeni Android Projesi Proje üzerinde sağ tuş -> Run As -> Android Application 21
Projemizin çalışır hali. Tabii ki Hello World Yeni Android Projesi Projedeki Önemli Dosyalar AndroidManifest.xml Activity adını verdiğimiz ekranların bilgisini, uygulama bazlı global bilgileri tutar. Uygulamamızın isteyeceği ayrıcalıklar da buradan tanımlanır. <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.jtpd" android:versioncode="1" android:versionname="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".startup" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> </application> <uses-permission android:name="android.permission.internet"></uses-permission> </manifest> 22
res/layout/main.xml Her bir Activity için görsel tasarım öğelerini içerir. Projedeki Önemli Dosyalar <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> </LinearLayout> Projedeki Önemli Dosyalar res/values/strings.xml Mesaj metinlerinin tutulduğu dosyadır. Activity ler için düzenlenen xml lerden android:text= @string/hello şeklinde kullanılabilir. <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">hello World, StartUp!</string> <string name="app_name">jtpd</string> </resources> res/values/ dizininde başka xml dosyaları tutarak iş bölümü yapabiliriz. res/values/color.xml <?xml version="1.0" encoding="utf-8"?> <resources> <color name="white">#fff</color> <color name="black">#000</color> <color name="gelecekonline_red">#d11517</color> <color name="gelecekonline_gray">#323232</color> <color name="gelecekonline_light_gray">#efefef</color> </resources> 23
Android ekranlarının her biri bir android.app.activity sınıfından extend olmak zorundadır. Event handling için Listener interface lerini implemente etmeleri gerekir. public class StartUp extends Activity implements OnClickListener Activity Android ekranlarının her biri için layout tanımlamak gerekir. Örnek : res/layout/nextactivity.xml Activity Bir Activity den diğer Activity ye erişmek için, örneğin bir click eventi içerisinden: public void onclick(view v) { Intent itemintent = new Intent(this, NextActivity.class); startactivity(itemintent); } 24
Droiddraw Android için görsel olarak GUI tasarımı yapmaya olanak tanıyan bir uygulamadır. http://www.droiddraw.org/ Site üzerinde çalışan applet ya da indirilebilen Swing uygulaması ile XML olarak GUI çıktısı alınabilir. Android Market e Uygulama Gönderme 25
Android Market e Uygulama Gönderme Android Market e Uygulama Gönderme 26
Kaynakça: http://wikipedia.org http://www.android.com http://developer.android.com Teşekkürler 27