Android - GROU.PS

advertisement
28.06.2010
Muharrem Taç
JDPT
Gelecekonline
Android Nedir
1
28.06.2010
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
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
28.06.2010
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,
Video
PNG, GIF)
GSM telefon desteği
3B ve 2B gelişmiş grafikler
Bluetooth, EDGE, 3G, ve WiFi (donanıma bağımlı)
Kamera
amera,, 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 BSDBSD-derived implementation of the standard C
system library (libc
(libc),
), tuned for embedded LinuxLinux-based devices
Media Libraries - based on PacketVideo's OpenCORE;
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
28.06.2010
Android Mimarisi
Versiyonlar
4
28.06.2010
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
28.06.2010
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
28.06.2010
Enteresan Uygulamalar
Layar
Android Marketleri
Android Market
Slideme
7
28.06.2010
Android Marketleri
AndAppStore
Samsung Fun Club Market
Android Araçları
Kaynak : Ersin KOÇ
8
28.06.2010
Android Yazılım Geliştirme
Android SDK
Eclipse Android Plugin
9
28.06.2010
Android SDK Đçeriği
Emülatörler,,
Emülatörler
Dökümanlar,,
Dökümanlar
Örnek kodlar,
USB sürücüleri (usb
(usb_
_driver/
driver/android_
android_winusb.
winusb.inf),
inf),
Versiyonlar,
Güncelleme sihirbazı,
Araçlar…
Android SDK Đçeriği
Virtual Devices
10
28.06.2010
Android SDK Đçeriği
Virtual Devices Emulator 1.1
Android SDK Đçeriği
Virtual Devices Emulator 1.5
11
28.06.2010
Android SDK Đçeriği
Virtual Devices Emulator 1.6
Android SDK Đçeriği
Virtual Devices Emulator 2.0
12
28.06.2010
Android SDK Đçeriği
Virtual Devices Emulator 2.1
Android SDK Đçeriği
Virtual Devices Emulator 2.2
13
28.06.2010
Android SDK Đçeriği
Installed Packages
Android SDK Đçeriği
Available Packages
14
28.06.2010
Android SDK Đçeriği
Settings
Android SDK Đçeriği
About
15
28.06.2010
Android Eclipse Plugin
Android Eclipse Plugin
Eclipse ile Android üzerinde yazılım geliştirme,
development,, debugging , test ve deployment yapılmasına
development
imkan veren plugindir.
plugindir.
Eclipse HelpHelp-> Install New Software yolu ile giderek
aşağıdaki adres eklenir:
https://dl--ssl.google.com/android/eclipse/
https://dl
16
28.06.2010
Android Eclipse Plugin
Android Eclipse Plugin
Eclipse Android plugin şunları sağlar :
Dalvik Debug Monitor Server (DDMS) perspective
perspective,,
Eclipse içinden Android SDK and AVD Manager bağlantısı,
Allocation Tracker view,
view,
Devices view,
view,
Emulator control view
view,,
File Explorer view,
view,
Heap view,
view,
LogCat view,
view,
Resource Explorer view,
view,
Threads view ,
New Android Project Menu
17
28.06.2010
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
28.06.2010
Yeni Android Projesi
Eclipse File -> New -> Other
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
28.06.2010
Yeni Android Projesi
Bir sonraki ekranda istersek
test projesi de yaratabiliriz.
Yeni Android Projesi
Projemiz ve Test projesi yaratıldı.
Klasörler şöyle :
src,
src,
gen,
res.
res.
---------------------------------------------AndroidManifest..xml
AndroidManifest
ve
default..properties adında iki dosya var.
default
20
28.06.2010
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
28.06.2010
Yeni Android Projesi
Projemizin çalışır hali. Tabii ki “Hello World”
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
28.06.2010
Projedeki Önemli Dosyalar
res/layout/main.xml
Her bir Activity için görsel tasarım öğelerini içerir.
<?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
28.06.2010
Activity
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
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
28.06.2010
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
28.06.2010
Android Market’e Uygulama Gönderme
Android Market’e Uygulama Gönderme
26
28.06.2010
Kaynakça:
http://wikipedia.org
http://www.android
http://www.
android.com
.com
http://developer.android.com
Teşekkürler
27
Download