mobil uygulama geliŞtirme - algoritma ve programlama ... · android genel olarak mobil cihazlarda...

Post on 03-Aug-2020

29 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

MOBIL UYGULAMA GELIŞTIRME

PELIN YILDIRIM

FATMA BOZYIĞIT

Celal Bayar Üniversitesi Hasan Ferdi Turgutlu

Teknoloji Fakültesi YZM 3214

Bu Derste

Android Nedir ve Uygulama Temelleri

Android Uygulama Bileşenleri (Application Components)

App Dizayn Prensipleri

2

Android nedir ?

Android genel olarak mobil cihazlarda çalışan bir işletim sistemi olarak bilinsede aslında işletim sistemi +

bir ara katman ve

e-mail istemcisi, sms programı, takvim, google maps, telefon rehberi vb. gibi bir kaç çekirdek programdan oluşur diyebiliriz.

Tabi android'i kullanacağınız ortama göre bunlar değişiklik gösterebilir. Örneğin bir tablet pc'de telefon rehberi pek işinize yaramayabilir.

3

Android Mimarisi

4

Applications 5

e-mail istemcisi, sms programı, takvim, google maps, telefon rehberi gibi temel uygulamalar ve sonradan yüklediğiniz 3. parti yazılımlar(twitter istemcisi gibi).

Application Framework 6

Android yazılım geliştiriciler için oldukça zengin bir platform sunar.

Geliştiriciler yazılımlarında donanım bilgileri, lokasyon bilgisi, arka plan servisleri gibi bir çok bilgiye hiç bir kısıt olmadan rahatlıkla erişebilirler.

Bunun dışında uygulamalar kendi servislerini diğer uygulamalarla paylaşabilirler ve diğer uygulamaların sundukları servislere erişebilirler. (Telefon rehberi kayıtlarına erişebilmek gibi).

Libraries 7

Android içerisinde yer alan genelde c ve c++ yazılmış olan kütüphanelerdir.

Sistem kütüphaneleri, mp3, jpg gibi ses ve görüntü formatları için medya kütüphaneler,

veri tabanı için sqlite kütüphaneleri gibi temel kütüphaneleri bulunur.

Genellikle bunlara uygulama çatısı aracılığıyla erişiriz

Android Runtime 8

Android alt seviye işler için (hafıza yönetimi, donanım sürücüleri gibi) linux kernelini kullanmaktadır ve temel java kütüphanelerini içerir.

Temel uygulama yapısı (1/2) 9

Android uygulamaları java programlama diliyle yazılır. Uygulama uzantısı .apk'dır. Bir .apk dosyasını telefonunuza atarak kurabilirsiniz. Her android uygulaması ayrı bir linux processi şeklinde çalışır. Bir uygulama çalışmak istediğinde android yeni bir process

yaratır ve uygulama kapatılana kadar bu process altında çalışır. Tabi sistem kaynakları yeterli olmadığı durumda android

uygulamalanın kapatılması beklenmeden processi sonlandırabilir.

Temel uygulama yapısı (2/2) 10

Android'in en önemli özelliklerinden birisi de bir uygulamanın diğer bir uygulamayı ve onun istenilen parçalarını kullanabiliyor olmasıdır. (Uygulamanın buna izin vermesi halinde).

Örneğin uygulamanızın bir dizi resimi kaydırması gerekiyor ve başka bir uygulama bu işi çok iyi yapıyor ve başka uygulamaların bu özelliği kullanmasına izin vermişse siz uygulamanızdan bu uygulama parçasını çağırabiliyorsunuz. Yani bu sizi büyük bir iş yükünden kurtarmış oluyor.

Android Uygulama Bileşenleri

(Application Components) 11

Uygulama bileşenleri, bir Android uygulamasının en

önemli yapı taşlarıdır.

Aktiviteler (Activities) 12

Aktivite bir kullanıcı arayüzüne sahip tek bir ekranı ifade eder.

Bir program içinde bir tanesi ana aktivite olmak üzere birden fazla aktivite tanımlanabilir.

Aktivite aslında kullanıcının işlemler gerçekleştirmek için kullandığı bir penceredir.

Bu pencere üzerinde etiket, metin giriş alanları ve buton gibi program elemanları yer alır.

Her aktivitede yer alan elemanları göstermek için ayrı bir .xml dosyası oluşturulur.

Aktiviteler Activity sınıfından türetilir.

Servisler (Services) 13

Android uygulamalarında arka planda çalışan ve kullanıcının uygulamayla olan ilişkisini etkilemeyen işlemler için Service adında bir sınıf bulunur.

Veritabanı güncellemeleri, günlük hata raporlarının bildirilmesi gibi rutin arka plan işlemleri için bir servis yaratma ihtiyacı duyduğumuzda Service sınıfından bir alt sınıf yaratarak gerekli işlemleri kullanıcıyı rahatsız etmeden gerçekleştirebiliriz.

İçerik sağlayıcıları (Content

Providers) 14

İçerik sağlayıcısı, uygulamaya ait paylaşılan verileri yönetir.

Verileri, uygulamanızın erişim sağlayabileceği disk üzerindeki bir dosya sistemine veya bir SQLite veritabanına kaydedebilirsiniz.

İçerik sağlayıcısı ile, diğer uygulamalar, yetki sahibi olduğu takdirde, verileri sorgulayabilir veya değiştirebilir.

İçerik sağlayıcısı, uygulamanıza özel bilgileri okumak ve yazmak için kullanılır.

Bir içerik sağlayıcısı ContentProvider sınıfından türetilir.

Mesaj alıcıları (Broadcast Receivers) 15

Mesaj alıcı, sistem mesajlarına işlem yapan bir bileşendir.

Ekranın kapatıldığı, bataryanın düşük olduğu veya resim kaydedilmesi gibi bir çok mesaj sistem kaynaklıdır.

Uygulamalar, diğer uygulamalara cihaza bazı verilerin indirildiğini ve kullanıma hazır olduğunu bildirmek için mesaj gönderebilir.

Mesaj alıcıları bir kullanıcı arayüzü kullanmaz, ancak bir mesaj iletildiğini kullanıcıya bildirmek üzere bir durum çubuğu bildirimi oluşturur.

Mesaj alıcıları BroadcastReceiver sınıfından türetilir.

App Dizayn Prensipleri (1/2)

Dikkatlice yerleştirilmiş bir animasyon, iyi

zamanlanmış bir ses efekti kullanıcınızın

tecrübesini en üst noktaya taşıyabilir

Kısa ve öz anlat, kullanıcı genelde uzun

cümleleri okumadan geçer

1 resim 1000 kelimeye bedeldir. Resimler

dikkat çeker ve daha etkindir.

Nerede olduğumu her zaman bilmeliyim. App

içinde nerede olduklarını anlayacakları ipuçları

ve bilgiler vererek güven ver.

16

App Dizayn Prensipleri (2/2)

Asla yaptıklarımı kaybetme. Ayarlarımı, tercihlerimi

kaydet, başka cihazlardan erişmeme izin ver.

Benim suçum değil. Bir hata olmuşsa kullanıcıya nazikçe

bildir. Nasıl çözülebileceğine dair net adımlar göster.

Önemli işlemleri hızlandır. En önemli işlemleri belirle ve

onlara daha kolay erişilebilmesini ve yapılmasını sağla.

17

top related