Xamarin ile Android Uygulama

54
T.C. SAKARYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ MONO ile YAZILIM GELİŞTİRME TEZSİZ YÜKSEK LİSANS BİTİRME PROJESİ M.Buğra KANMAZ Enstitü Anabilim Dalı : BİLGİSAYAR VE BİLİŞİM MÜHENDİSLİĞİ Enstitü Bilim Dalı : BİLİŞİM TEKNOLOJİLERİ Tez Danışmanı : Doç. Dr. Cemil ÖZ Şubat 2014

Transcript of Xamarin ile Android Uygulama

Page 1: Xamarin ile Android Uygulama

T.C.

SAKARYA ÜNİVERSİTESİ

FEN BİLİMLERİ ENSTİTÜSÜ

MONO ile YAZILIM GELİŞTİRME

TEZSİZ YÜKSEK LİSANS BİTİRME PROJESİ

M.Buğra KANMAZ

Enstitü Anabilim Dalı : BİLGİSAYAR VE BİLİŞİM

MÜHENDİSLİĞİ

Enstitü Bilim Dalı : BİLİŞİM TEKNOLOJİLERİ

Tez Danışmanı : Doç. Dr. Cemil ÖZ

Şubat 2014

Page 2: Xamarin ile Android Uygulama
Page 3: Xamarin ile Android Uygulama

T.C.

SAKARYA ÜNİVERSİTESİ

FEN BİLİMLERİ ENSTİTÜSÜ

MONO ile YAZILIM GELİŞTİRME

TEZSİZ YÜKSEK LİSANS BİTİRME PROJESİ

M.Buğra KANMAZ

Enstitü Anabilim Dalı : BİLGİSAYAR VE BİLİŞİM

MÜHENDİSLİĞİ

Enstitü Bilim Dalı : BİLİŞİM TEKNOLOJİLERİ

Bu Proje .. /.. /20.. tarihinde aşağıdaki jüri tarafından Oybirliği ile kabul

edilmiştir.

Doç.Dr. Cemil ÖZ

Prof.Dr. Nejat

YUMUŞAK

Yrd. Doç.Dr. Nilüfer

YURTAY

Jüri Başkanı Üye Üye

Page 4: Xamarin ile Android Uygulama
Page 5: Xamarin ile Android Uygulama

ii

ÖNSÖZ

Gelişen mobil teknolojileriyle kullanıcıların ihtiyaç duyduğu kişisel yazılımlar yerini

mobil uygulamalara bırakmaktadır. Mobil platformlarının farklı oluşu yazılım

noktasında birçok farklı dilde uygulama geliştirmeyi zorunlu kılmaktadır. Bu

durumun oluşturduğu problemin çözümü ise yazılım geliştiricilerin yaygın olarak

kullandığı C# dili ile bu mobil uygulamalar geliştirilebilmesi hatta bu uygulamaların

kolayca farklı platformlara uyarlanabilmesidir.

Page 6: Xamarin ile Android Uygulama

iii

İÇİNDEKİLER

SİMGELER VE KISALTMALAR LİSTESİ ........................................................................................ iv

ŞEKİLLER LİSTESİ ........................................................................................................................ v

ÖZET……. ................................................................................................................................. vii

SUMMARY .............................................................................................................................. viii

BÖLÜM 1. Başlangıç .......................................................................................... 1

1.1. Mono Nedir? .................................................................................... 1

1.2. MonoDevelop veya Xamarin Studio ................................................ 2

1.3. Xamarin IDE Nasıl Çalışır ? .............................................................. 2

BÖLÜM 2. Xamarin Studio Paketinin Kurulumu ................................................ 4

2.1. “Xamarin Installer” ile Xamarin Kurulumu ...................................... 4

2.1.1. Yükleme sihirbazının adımları: ......................................................... 5

2.2. Kurulumda Karşılaşılan Hatalar ve Çözümleri .................................. 9

2.2.1. Java SDK Yüklenmesi ........................................................................ 9

2.2.2. Android SDK Kurulumu .................................................................. 10

2.2.2.1. Android Sanal Cihaz Yöneticisi Ayarlarının Yapılması ..................... 11

2.2.3. GTK# Kurulumu .............................................................................. 13

2.2.4. Xamarin Studio Kurulumu.............................................................. 13

2.2.5. Xamarin.Android Kurulumu ........................................................... 13

BÖLÜM 3. Xamarin Studio’da İlk Uygulama .................................................... 14

BÖLÜM 4. Xamarin Studio’da “ToDo” Adlı Örnek Uygulamanın Geliştirilmesi20

4.1. Yeni Çözüm Oluşturulması ve Uygulamanın Arayüz Tasarımı ........ 20

4.2. Uygulamanın Kodlarının Yazılması ................................................. 25

BÖLÜM 5. Uygulamanın Diğer Platformlarda Çalıştırılması ............................ 38

5.1. iOS’te Uygulama Geliştirme ........................................................... 39

5.2. Windows Phone’da Uygulama Geliştirme ..................................... 40

SONUÇ………… ......................................................................................................................... 41

KAYNAKLAR ............................................................................................................................. 42

ÖZGEÇMİŞ ............................................................................................................................... 43

Page 7: Xamarin ile Android Uygulama

iv

SİMGELER VE KISALTMALAR LİSTESİ

GUI : Grafiksel Kullanıcı Arayüzü

GNOME : GNU Şebeke Nesne Modeli Ortamı

IDE : Arayüz Geliştirme Ortamı

iOS : iPhone İşletim Sistemi

JDK : Java Geliştirme Kiti

SDK : Yazılım Geliştirme Kiti

Page 8: Xamarin ile Android Uygulama

v

ŞEKİLLER LİSTESİ

Şekil 1-1Mono Mimarisi ............................................................................................. 2

Şekil 1-2 Xamarin Çalışma Mantığı ........................................................................... 3

Şekil 1-3 Xamarin Derleyicisi Çalışma Mantığı ......................................................... 3

Şekil 2-1Xamarin Kurulum Ekranı ............................................................................. 4

Şekil 2-2 Yükleme Ekranı ........................................................................................... 5

Şekil 2-3 Yükleme Seçim Ekranı ................................................................................ 6

Şekil 2-4 Android SDK'nın Kurulum Yeri Ekranı ...................................................... 6

Şekil 2-5 Yüklenmesi Gereken Programlar Listesi ..................................................... 7

Şekil 2-6 Lisans Kabul Ekranı .................................................................................... 7

Şekil 2-7 Yükleme İlerlemesi ...................................................................................... 8

Şekil 2-8 Windows'un Kurulumu Konfigure Etmesi .................................................. 8

Şekil 2-9 Yükleme Hazır ............................................................................................. 9

Şekil 2-10 Android SDK Ekranı ............................................................................... 10

Şekil 2-11 Android Cihaz Emülatörü Ekleme .......................................................... 11

Şekil 2-12 Eklenecek Emülatörün Özelliklerinin Ayarlanması ................................ 12

Şekil 2-13 Emülatör Kurulumu Onayı ...................................................................... 12

Şekil 3-1 Xamarin Studio Açılış Ekranı .................................................................... 14

Şekil 3-2 Yeni Çözüm Oluşturma Ekranı ................................................................. 15

Şekil 3-3 Ana Kodun Bulunduğu Sayfa .................................................................... 15

Şekil 3-4 Kodların Tanımlanması ............................................................................. 16

Şekil 3-5 Emülatör Seçimi ........................................................................................ 17

Şekil 3-6 Emülatör Arayüzü ...................................................................................... 17

Şekil 3-7 Emülatör Uygulamaları Ekranı .................................................................. 18

Şekil 3-8 Uygulamanın Açılış Ekranı ....................................................................... 18

Şekil 3-9 Uygulama Çıktısı ....................................................................................... 19

Şekil 4-1 Uygulama Arayüzü Tasarımı ..................................................................... 20

Şekil 4-2 Xamarin Studio Açılış Ekranı .................................................................... 21

Şekil 4-3 Yeni Android Uygulama Çözümü ............................................................. 21

Şekil 4-4 Çözümün İçeriği ........................................................................................ 22

Page 9: Xamarin ile Android Uygulama

vi

Şekil 4-5 Kaydedilen İşler Ekranı-Ana Ekran .......................................................... 22

Şekil 4-6 Ekran Kontrolleri Kodları .......................................................................... 23

Şekil 4-7 Kontrol Özellikleri Menüleri ..................................................................... 23

Şekil 4-8 İş Ekleme Ekranı ....................................................................................... 24

Şekil 4-9 Android Cihaz Görünümü/Versiyonu Ayarlama ....................................... 24

Şekil 4-10 TaskList.cs Kaydedilen İşler (Ana ekran) İlk Kodlar .............................. 25

Şekil 4-11 "TaskView.cs" İlk Kodları ....................................................................... 26

Şekil 4-12 Çözüme Yani Klasör Ekleme .................................................................. 27

Şekil 4-13 "Tasks.cs" Sınıfı Kodları ......................................................................... 28

Şekil 4-14 Bileşen Ekleme Ekranı ............................................................................ 28

Şekil 4-15 Bileşen Ekleme ........................................................................................ 29

Şekil 4-16 Çözüm Paneli ........................................................................................... 29

Şekil 4-17 "TaskViewModel" Kodları ...................................................................... 30

Şekil 4-18 "TaskView" Sınıfına Eklenecek Kodlar .................................................. 31

Şekil 4-19 "TaskList" Sınıfına Eklenecek Kodlar ..................................................... 32

Şekil 4-20 "TaskListAdapter" Kodları ...................................................................... 33

Şekil 4-21Android Emulator Ekranı ......................................................................... 34

Şekil 4-22 Uygulama Ana Ekranı ............................................................................. 35

Şekil 4-23 Uygulamada İş Ekleme Ekranı ................................................................ 36

Şekil 4-24 Kaydedilen İşin Ana Ekranda Görünmesi ............................................... 37

Şekil 5-1Platform ve İşletim Sistemi Geliştirilebilirlik Matrisi ................................ 38

Şekil 5-2 iOS'te ToDo Uygulaması Görünümü ........................................................ 39

Şekil 5-3 Windows phone'da ToDo Uygulamasının Görünümü ............................... 40

Page 10: Xamarin ile Android Uygulama

vii

ÖZET

Anahtar kelimeler: Mono, C#, Xamarin, Yazılım, Mobil Uygulama

Farklı platformlarda çalışabilecek yazılım veya uygulamaların geliştirilmesi birden

çok programlama dili öğrenme gereksinimine yol açmıştır. Günümüzde yaygın bir

şekilde kullanılan en güçlü nesneye dayalı programlama dili olan C# ile birden fazla

ana platformu (Android, iOS, Windows Phone gibi) destekleyecek yazılımlar ve

uygulamalar geliştirilebilmektedir. Böylelikle yazılım geliştiriciler zaman

kazanmakta ve aynı işlemi diğer programlama dillerinden daha kısa bir şekilde

yazarak hata oranını minimuma indirmektedirler.

Geçmişi çok yeni olan bu yöntem, Xamarin Studio ile gerçekleştirilerek işletim

sistemine kurulumundan örnek bir uygulama geliştirmeye kadar anlatılmıştır. Yazılım

ve kurulum sırasında karşılaşılan hatalara çözüm yolları önerilmiştir.

Page 11: Xamarin ile Android Uygulama

viii

APPLICATION DEVELOPMENT WITH MONO

SUMMARY

Anahtar kelimeler: Mono,C#,Xamarin,Mobile Apps

The development of software that can run on different platforms or applications has

led to multiple programming language learning requirements. Nowadays applications

and software can be developed with the most powerful object-oriented programming

language C # for multi platforms such as Android, iOS and WinPhone . Thus, the

software developers are saving time and writing simpler and shorter codes for the

same objective.

This method has a very short history and it is explained from the installation to

developing a sample application by using Xamarin Studio. Solutions to problems

encountered while installation and development are also mentioned.

Page 12: Xamarin ile Android Uygulama

BÖLÜM 1. Başlangıç

1.1. Mono Nedir?

Mono 2004 yılında ortaya çıkan açık kodlu ücretsiz bir projedir. Novell şirketi

(şimdilerde Xamarin) tarafından geliştirilmişti. Mono’nun asıl amacı Microsoft.Net

uygulamalarını farklı platformlarda çalıştırmaktan ziyade Linux geliştiricileri için de

daha iyi geliştirme ortamı sağlamaktı. Mono Android, Linux, Mac OS X, Windows,

Solaris hatta PS3,Wii ve Xbox360 gibi birçok platformda çalıştırılabilir.

Mono’nun bileşenleri 3 gruptan oluşur:

1- Ana bileşenler : C# derleyicisi, Ana Dil Alt Yapısı (CLI) sanal makinası ve

ana sınıf kütüphaneleri.

2- Mono/ Linux/GNOME Geliştirme Yığını: Bu yığın, GNOME (masaüstü

kullanıcı arayüzü) kullanılarak uygulama geliştirme gereçlerini ve açık kodlu

sınıf kütüphanelerini temin eder. Bunlar; grafik kullanıcı arayüzü geliştirme

için Gtk# ( GNOME kütüphaneleri için .NET bağlayıcı seti) , Gecko render

motoru ile çalışacak Mozilla kütüphaneleri, Unix entegrasyon kütüphaneleri

(Mono.Posix), veritabanı bağlantısı kütüphaneleri, bir güvenlik yığını ve

XML şema dili RelaxNG’dir.

3- Microsoft Uyumluluk Yığını: .Net uygulamalarını Linux’a bağlamak için

koridor temin eder. Bu bileşenler ADO.NET,ASP.NET ve Windows Forms vs.

içerir.

Mono’nun mimarisi aşağıdaki resimde özetlenmiştir.

Page 13: Xamarin ile Android Uygulama

2

Şekil 1-1Mono Mimarisi

1.2. MonoDevelop veya Xamarin Studio

MonoDevelop aynı zamanda, C, C, Python, Java, ve Vala gibi dilleri desteklemesine

rağmen öncelikle C# ve diğer. NET dilleri -Nemerle, Boo ve Java (ile IKVM.NET)

gibi- için tasarlanmış bir GNOME entegre geliştirme ortamıdır. MonoDevelop

,Mono geliştiricilerin ihtiyaçlarını karşılamak için gelişmiştir. IDE sınıf yönetimi,

yerleşik yardım, kod tamamlama, Stetic (bir GUI tasarımcı), proje desteği ve entegre

debugger içerir.

2011 yılında Novell’in başka bir şirkete satılmasıyla işten çıkarılan Mono’nun

yaratıcısı Miguel de Icaza, kendi kurduğu Xamarin adlı şirket adı altında devam

edeceğini açıkladı. iOS için gelistirilmiş Mono Touch ve Android için geliştirilmiş

Mono for Android’in lisansı alınarak 2013 yılında Xamarin Studio adlı bir program

altında birleştirildi ve piyasaya sürüldü. Yazılacak uygulama da bu program

kullanılarak geliştirilecektir.

1.3. Xamarin IDE Nasıl Çalışır ?

Xamarin Studio iOS ve Android uygulamalar geliştirmek için bütünleşik

geliştirme ortamıdır. Xamarin’in çalışma mantığı aşağıdaki diyagramlarla görsel

olarak açıklanabilir.

Page 14: Xamarin ile Android Uygulama

3

Şekil 1-2 Xamarin Çalışma Mantığı

Xamarin Derleyicisi ise aşağıdaki gibi çalışır.

Şekil 1-3 Xamarin Derleyicisi Çalışma Mantığı

Page 15: Xamarin ile Android Uygulama

BÖLÜM 2. Xamarin Studio Paketinin Kurulumu

Geliştirilecek uygulamalar Windows 7 işletim sistemi üzerinde yapılacağından

dolayı bu işletim sistemine göre kurulum adımları ayrıntılı anlatılacaktır.

2.1. “Xamarin Installer” ile Xamarin Kurulumu

İlk adım Xamarin kurulum sihirbazını bu linkten

http://www.xamarin.com/Download: indirmek olacaktır. Yazılımın ücretsiz

versiyonunu indirmek ilk başta tercih sebebidir. Paketi yükleyebilmek için üyelik

istenmektedir. Üyeliğin avantajı, kurulum ve yazılım geliştirme sırasında

karşılaşılabilecek hatalara çözümler bulunmasında yardım sağlayabilmesidir. Yeni

kurulan bir platform olduğundan web sitedeki forumun kullanılması şiddetle tavsiye

edilmektedir.

Şekil 2-1Xamarin Kurulum Ekranı

Page 16: Xamarin ile Android Uygulama

5

2.1.1. Yükleme sihirbazının adımları:

Yükleme sihirbazının aşamaları şekillerle anlatılmıştır:

Şekil 2-2 Yükleme Ekranı

Page 17: Xamarin ile Android Uygulama

6

Şekil 2-3 Yükleme Seçim Ekranı

Şekil 2-4 Android SDK'nın Kurulum Yeri Ekranı

Page 18: Xamarin ile Android Uygulama

7

Şekil 2-5 Yüklenmesi Gereken Programlar Listesi

Şekil 2-6 Lisans Kabul Ekranı

Page 19: Xamarin ile Android Uygulama

8

Şekil 2-7 Yükleme İlerlemesi

Şekil 2-8 Windows'un Kurulumu Konfigure Etmesi

Page 20: Xamarin ile Android Uygulama

9

Şekil 2-9 Yükleme Hazır

Bu ekran katıldığında Xamarin ile yazılım geliştirmeye başlanılabilir.

2.2. Kurulumda Karşılaşılan Hatalar ve Çözümleri

Xamarin çok yeni bir platform olduğundan dolayı kurulum sırası yukarıda

açıklandığı gibi gerçekleşmeyebilir yani Xamarin Installer çalışmayabilir. Bu

durumda manuel yükleme seçeneği tercih edilebilir. Manuel yükleme aşağıdaki

adımlarla yapılabilir:

2.2.1. Java SDK Yüklenmesi

Aşağıdaki bağlantıdan Java JDK 1.6 veya 1.7 indirilebilir. Android SDK 32 bit JDK

ile çalışır dolaysıyla platform olarak “Windows” seçilmelidir.

Page 21: Xamarin ile Android Uygulama

10

http://download.xamarin.com/Installer/MonoForAndroid/jdk-6u39-windows-

i586.exe

2.2.2. Android SDK Kurulumu

Windows SDK installer’ı aşağıdaki bağlantıdan indirilip kurulması (installer_r10-

windows.exe) http://developer.android.com/sdk/index.html

Kurulumun çalıştırılması.

SDK Manager’ın yükleme ardından çalıştırılması.

En azından şu versiyonların yüklenmesi gerekir:

o Android SDK Tools, revision 16 veya yükseği

o Android SDK Platform-tools, revision 10 veya yükseği

o SDK Platform Android 1.6, API 4, revision 3

o SDK Platform Android 2.2, API 8, revision 2

Not: Update All.. butonu ile kolay yolla bütün gerekli yüklemeler yapılabilir.

Şekil 2-10 Android SDK Ekranı

Page 22: Xamarin ile Android Uygulama

11

2.2.2.1. Android Sanal Cihaz Yöneticisi Ayarlarının Yapılması

- Android Simulator farklı cihazları simule etmek için çok farklı

konfigurasyonda çalışır. Bunun için en az bir adet sanal cihaz konfigure

edilmelidir. Bu işlem “Virtual Devices” sekmesi seçilerek yapılır.

Şekil 2-11 Android Cihaz Emülatörü Ekleme

- Sağ kısımdaki butonlardan “New” butonu seçilerek aşağıdaki ekran sayesinde

ayarlamalar yapılır:

Page 23: Xamarin ile Android Uygulama

12

Şekil 2-12 Eklenecek Emülatörün Özelliklerinin Ayarlanması

- Gelecek mesaj kutusunda konfigürasyonu yapılan cihazın özellikleri ile ilgili

bilgiler yer alır.

Şekil 2-13 Emülatör Kurulumu Onayı

Page 24: Xamarin ile Android Uygulama

13

Bu işlem de yapıldığında Android SDK kurulumu tamamlanmış olur.

2.2.3. GTK# Kurulumu

Xamarin içindeki GTK kütüphanelerinin kurulumu bu linkten sağlanır:

http://download.xamarin.com/GTKforWindows/Windows/gtk-sharp-2.12.21.msi

2.2.4. Xamarin Studio Kurulumu

Bu linkten Visual Studio’nun monodaki muadili Xamarin Studio kurulur:

http://download.xamarin.com/studio/Windows/XamarinStudio-4.0.8.msi

2.2.5. Xamarin.Android Kurulumu

Android programlamayı C#’ta gerçekleştirmek için Xamarin paketinin içinde yer

alan bu program bu linkten indirilir :

http://download.xamarin.com/MonoforAndroid/Windows/mono-android-

4.6.08007.msi

Not: Buradaki 3. ve 4. Adım Visual Studio’da çalışılacaksa atlanabilir. Bu projede

yeni teknolojilerin kullanılması açısından Xamarin Studio ile yazılım geliştirilecektir.

Page 25: Xamarin ile Android Uygulama

BÖLÜM 3. Xamarin Studio’da İlk Uygulama

Xamarin Paketinin kurulumunu tamamladıktan sonra her yazılımcı gibi

“HelloWorld” yazılımı geliştirilip test edilmesi fayda sağlayacaktır. Yazılımda bir

butona basıldığında bize mesaj vermesi istenmektedir. Uygulama geliştirmeleri

kullanım alanı ve popülarite açısından önde olan Android ortamında

gerçekleştirilecektir. Test yazılımının geliştirilmesi şu aşamalarda gerçekleştirilir:

Xamarin Studio açılış ekranından Dosya>Yeni Çözüm seçilir.

Şekil 3-1 Xamarin Studio Açılış Ekranı

Page 26: Xamarin ile Android Uygulama

15

Açılan Pencereden C# sekmesinden Android seçilir. İstenen uygulama tipine

göre yazılım geliştirilir.

Şekil 3-2 Yeni Çözüm Oluşturma Ekranı

Çözüm yaratıldığında karşıya çıkan ekran şu şekildedir.

Şekil 3-3 Ana Kodun Bulunduğu Sayfa

Page 27: Xamarin ile Android Uygulama

16

Yazılımı veya Uygulamayı geliştirmek için şu kodlar yazılır.

Şekil 3-4 Kodların Tanımlanması

Uygulama yazıldıktan sonra hata ayıklama yapılırken (debug) android

emülatörü ekranı gelir. Bu ekrandan daha önce tanımlanan android sanal

cihazı başlatılarak uygulama android ortamında test edilir.

Page 28: Xamarin ile Android Uygulama

17

Şekil 3-5 Emülatör Seçimi

Emülatör başlatıldığında bu ekran görünür.

Şekil 3-6 Emülatör Arayüzü

Page 29: Xamarin ile Android Uygulama

18

Ekranda Android işletim sistemi masaüstünün görülmesi yaklaşık 5-10

dakika süre almaktadır. Bunun nedeni Windows işletim sisteminin emülatörü

ekrana getirme sürecindeki dönüştürmedir. İşaretlenen uygulamaya tıklanır.

Şekil 3-7 Emülatör Uygulamaları Ekranı

Uygulama ekranı şu şekilde görünür.

Şekil 3-8 Uygulamanın Açılış Ekranı

Page 30: Xamarin ile Android Uygulama

19

Butona tıklandığında istenen mesaj ekranda görünür.

Şekil 3-9 Uygulama Çıktısı

Böylelikle “HelloWorld” uygulaması başarıyla çalıştırılmış olur.

Page 31: Xamarin ile Android Uygulama

20

BÖLÜM 4. Xamarin Studio’da “ToDo” Adlı Örnek Uygulamanın

Geliştirilmesi

Her mobil cihazında işletim sistemi fark etmeksizin bulunan “Yapılacak İşler” yani

“ToDo” uygulamasının Andriod için geliştirilmesi şekillerle anlatılacaktır.

Uygulamada girilecek işleri ekleme ekranı ve kaydedilen işlerin göründüğü ekran

olmak üzere iki ekran görüntüsü tasarlanmaktadır.

4.1. Yeni Çözüm Oluşturulması ve Uygulamanın Arayüz Tasarımı

Şekil 4-1 Uygulama Arayüzü Tasarımı

Xamarin Studio’da açılış ekranından yeni Android Uygulama dosyası

seçilerek geliştirmeye başlanır.

Page 32: Xamarin ile Android Uygulama

21

Şekil 4-2 Xamarin Studio Açılış Ekranı

Şekil 4-3 Yeni Android Uygulama Çözümü

Page 33: Xamarin ile Android Uygulama

22

Yeni Android uygulaması açıldığında çözümün içeriğinde “References“ adlı

Mono paketlerinin de bulunduğu klasör, “Components“ adlı eklentiler klasörü

bulunur.“Resources“ adlı kaynak klasörü içerisinde uygulama simgelerinin

bulunduğu “drawable“, uygulama arayüzlerinin tasarlandığı “layout“ klasörü

bulunur.

Şekil 4-4 Çözümün İçeriği

Uygulama geliştirmenin ilk aşaması olan arayüzlerin geliştirilmesi kısmı ile

başlanır. Tasarım aşamasında planlanan ekranlardan Kaydedilen İşler

ekranına ilgili kontroller eklenir.

Şekil 4-5 Kaydedilen İşler Ekranı-Ana Ekran

Page 34: Xamarin ile Android Uygulama

23

C#’ta WinForms uygulamaları gibi kotrolün üzerine çift tıklandığında

yapılacak işleri bu platformda elle girilmesi gerekmektedir. Ayrıca

ASP.Net’teki gibi kod ile ekran görünümleri ve kontrollerin görsel özellikleri

değiştirilebilir.

Şekil 4-6 Ekran Kontrolleri Kodları

Kontrollerin özellikleri menüsünden kod yazımında kullanılacak adları,

stilleri, boyutları vs. ayarları yapılabilir.

Şekil 4-7 Kontrol Özellikleri Menüleri

Page 35: Xamarin ile Android Uygulama

24

İkinci ekran olan İşlerin Eklenme Ekranı tasarımı aynı şekilde yapılır.

Şekil 4-8 İş Ekleme Ekranı

Sonraki adımda uygulama için hedeflenen Android versiyonu ve cihaz türü

için uygulamanın görünümü test edilir.

Şekil 4-9 Android Cihaz Görünümü/Versiyonu Ayarlama

Page 36: Xamarin ile Android Uygulama

25

4.2. Uygulamanın Kodlarının Yazılması

Arayüz tasarımını bitirdikten sonra kodlama kısmında sırasıyla; kaydedilen işleri

görüntüleme/listeleme, iş ekleme, eklenen işleri tanımlama, veri tabanına bağlama ve

işlerin ana ekranda nasıl görüneceği kodları yazılır. İşlemler sırasıyla şu şekilde

halledilir:

Çözüm açıldığında “MainActivity.cs” adlı dosya “TaskList.cs” yani İş Listesi

olarak adlandırılarak arayüzde eklenmiş olan kontroller ve işlevleri

tanımlanır.

Şekil 4-10 TaskList.cs Kaydedilen İşler (Ana ekran) İlk Kodlar

Page 37: Xamarin ile Android Uygulama

26

Sonrasında iş ekleme ekranı için “TaskView.cs” adlı bir boş sınıf dosyası

eklenir. İş Ekleme ekranı tasarımındaki kontroller ve işlevleri tanımlanır.

Şekil 4-11 "TaskView.cs" İlk Kodları

Page 38: Xamarin ile Android Uygulama

27

Eklenecek işlerin özelliklerini tanımlamak ve bunları veritabanına bağlamak

için çözüm içinde “Core” adlı yeni bir klasör oluşturulur. Bu klasöre “Tasks”

ve “TaskViewModel” adlı iki boş sınıf eklenir.

Şekil 4-12 Çözüme Yani Klasör Ekleme

Page 39: Xamarin ile Android Uygulama

28

“Tasks.cs” İşler sınıfında eklenecek işlerin tanımlaması yapılır.

Şekil 4-13 "Tasks.cs" Sınıfı Kodları

Daha önce bahsedilen “TaskViewModel.cs” sınıfına kod yazmadan önce

çözüm panelinden “Components” seçilir ve açılan ekrandan eklenen işlerin

kaydının tutulacağı “SQLite” bileşeni eklenir.

Şekil 4-14 Bileşen Ekleme Ekranı

Page 40: Xamarin ile Android Uygulama

29

Bu ekrandan bundan sonra yazılacak uygulamalar için birçok çeşit bileşenler

eklenerek uygulamanın işlerliği arttırılabilir.

Şekil 4-15 Bileşen Ekleme

Bileşen eklendiğinde çözüm panelinde“Components”adlı kısımda görülebilir.

Şekil 4-16 Çözüm Paneli

“SQLite” bileşeni eklendikten sonra daha önce “Core” klasöründe

tanımlanmış “TaskViewModel” adlı sınıf seçilerek kaydedilen işlerin

veritabanı ile bağlantısı kurulur. Bu sınıfınkodları “TaskView” ve “TaskList”

Page 41: Xamarin ile Android Uygulama

30

adlı sıınfların kodlarını da eklentiler yapılmasını gerektirir.

Şekil 4-17 "TaskViewModel" Kodları

Page 42: Xamarin ile Android Uygulama

31

“TaskView” sınıfına “TaskViewModel” ile bağlantı kurulması için gerekli

kodlar eklenir.

Şekil 4-18 "TaskView" Sınıfına Eklenecek Kodlar

Page 43: Xamarin ile Android Uygulama

32

“TaskList” sınıfı kodları da şu şekilde güncellenir.

Şekil 4-19 "TaskList" Sınıfına Eklenecek Kodlar

Page 44: Xamarin ile Android Uygulama

33

Son olarak çözüm panelinde “Resources” kısmına yeni boş sınıf eklenerek

işlerin ana ekranda nasıl görüneceği ayarlanır. Bu sınıf”TaskListAdapter”

olarak adlandırılır.

Şekil 4-20 "TaskListAdapter" Kodları

Page 45: Xamarin ile Android Uygulama

34

Son kodlar da yazıldığında kurulum safhasında bilgisayara yüklenilen

Android Cihaz Yöneticisi “Device Manager” açılarak daha önceden

tanımlanan Android cihazların emülatörü çalıştırılır. Bu işlem normal bir

Windows 7 sisteminde 5-10 dakika sürebilir.

Şekil 4-21Android Emulator Ekranı

Page 46: Xamarin ile Android Uygulama

35

Bu emülatör ekranı görüldüğünde Xamarin Studio’da çözüm “Debug” tuşu

ile çalıştırılır. Emulatorün uygulama listesinde bu uygulama tıklandığında

karşıya uygulamanın ana ekranı çıkar.

Şekil 4-22 Uygulama Ana Ekranı

Page 47: Xamarin ile Android Uygulama

36

Ekle butonuna tıklandığında karşıya çıkan ekrandan ilgili kısımlar doldurulur

ve kaydet tuşuna basılır.

Şekil 4-23 Uygulamada İş Ekleme Ekranı

Page 48: Xamarin ile Android Uygulama

37

Kaydet butonuna tıklandığında iş ana ekranda görünür. Böylelikle bu basit

ama temel uygulama çalıştırılmış olur.

Şekil 4-24 Kaydedilen İşin Ana Ekranda Görünmesi

Page 49: Xamarin ile Android Uygulama

38

BÖLÜM 5. Uygulamanın Diğer Platformlarda Çalıştırılması

Android, Windows Phone ve iOS işletim sisteminde içerikte farklı çalışmasına

rağmen Xamarin ile C# kodlarının bu 3 platformda kullanılması kusursuz olmasa da

yaratıcı bir tecrübe sunmaktadır.

İş mantığı, veri tabanı kullanımı, ağ erişimi ve diğer ortak işlevler için sadece bir kez

kod yazımı yapılarak her platform için tekrar kullanımları sağlanabilir bu şekilde

kullanıcı ara yüzleri için bir zemin oluşturularak platforma özel kullanıcı arabirimleri

gerçekleştirilir.

Xamarin ile uygulama geliştirme ya Xamarin Studio veya Visual Studio ile

yapılabilir. Seçilecek interaktif geliştirme ortamı hedeflenen platformlara göre

belirlenir.

Windows Phone uygulamaları sadece Windows ortamında geliştirilebileceğinden 3

platform için tek bir işletim sisteminde geliştirme yapılamayacaktır.

Şekil 5-1Platform ve İşletim Sistemi Geliştirilebilirlik Matrisi

Page 50: Xamarin ile Android Uygulama

39

5.1. iOS’te Uygulama Geliştirme

iOS uygulamalar geliştirmek için bir Mac OS X işletim sistemi olan bir Mac

Bilgisayara ihtiyaç vardır. Visual Studio, Xamarin’nin iOS Visual Studio eklentisi ile

de uygulama geliştirme ve dağıtma için kullanılabilir. Fakat Mac işletim sistemi

kurma ve lisanslama amaçları için yine de gereklidir.

Apple’ın XCode arayüz geliştirme ortamı derleyici ve simülatörün test amacıyla

sağlanması açısından yüklenmelidir. Uygulamayı gerçek bir cihaza göndermek ve

uygulamayı yayınlamak/yaymak için de Apple’ın Geliştirici Programı’na yıllık

99dolar üyelik ücreti ile katılınması gerekir. Geliştirilen her uygulama Apple

tarafından test edilip onaylandıktan sonra indirilmek için sisteme yüklenir.

Şekil 5-2 iOS'te ToDo Uygulaması Görünümü

Page 51: Xamarin ile Android Uygulama

40

5.2. Windows Phone’da Uygulama Geliştirme

Windows Phone uygulamaları Xamarin’i direk olarak kullanmaz. Visual Studio

2010, 2012, 2013 araç kiti ile geliştirilir. Yazılan C# kodu Xamarin kullanılarak

diğer platformlarla paylaşılabilir.

Şekil 5-3 Windows phone'da ToDo Uygulamasının Görünümü

Page 52: Xamarin ile Android Uygulama

41

SONUÇ

Xamarin Java veya Objective C dillerini kullanmayı bilmeyip C# dilinde

uzmanlaşmış olan geliştiriciler için mobil uygulama geliştirmede önemli avantajlar

sunmaktadır. Henüz çok yeni bir teknoloji olsa da arka planında 10 yıllık bir Mono

tecrübesi olan Xamarin gelecek vadeden bir teknoloji olarak kabul edilebilir.

Yükleme ve geliştirme süresince yaşanan sıkıntılara çözüm olarak forum sitelerinden

yardım alınabilir. Fakat öğrenme sürecinde öğretici video veya Türkçe yazılı kaynak

bulunması zor olmaktadır. Xamarin’in dünya çapında resmi sitesine kayıtlı 500.000

geliştiricisi bulunmaktadır.

Yapılan uygulama özelinde karşılaşılan en büyük sıkıntı veritabanı için uygulamaya

eklenen SQLite bileşeninin düzgün çalışmaması ve sorunun tam olarak

çözülememesidir. Xamarin Studio ücretsiz versiyonunu sadece 65KB’lık bir

uygulama boyutu ile sınırlamakta ve bu sınırlama birçok bileşenin uygulamaya

eklenmesini imkansız kılmaktadır. Bu projede de ücretsiz sürüm kullanıldığından

büyük ihtimalle SQLite bileşeninin düzgün çalışmamasının sebebi budur diye

tahmin edilmektedir.

Page 53: Xamarin ile Android Uygulama

KAYNAKLAR

[1] http://docs.xamarin.com/guides/cross-platform/getting_started/, Erişim Tarihi:

04.10.2013

[2] http://docs.xamarin.com/guides/android/getting_started/ , Erişim Tarihi: 14.10.2013

[3] http://xamarin.com/tour , Erişim Tarihi: 1.10.2013

[4] http://docs.xamarin.com/guides/cross-

platform/application_fundamentals/building_cross_platform_applications/case_study-

tasky/ , Erişim Tarihi: 15.12.2013, 02.02.2014

[5] http://forums.xamarin.com/, Erişim Tarihi: 10.11.2013, 05.12.2013, 03.01.2014,

01.02.2014

[6] http://vimeo.com/68383292 , Erişim Tarihi: 1.11.2013, 03.12.2013, 02.01.2014,

15.01.2014, 01.02.2014

[7] http://www.youtube.com/watch?v=WkNbRUqnSSc , Erişim Tarihi: 15.10.2013

[8]

[9]

http://www.youtube.com/watch?v=IQW_00OKhRs , Erişim Tarihi: 25.11.2013

http://www.youtube.com/watch?v=0s0zh0zAaLg , Erişim Tarihi: 20.12.2013

Page 54: Xamarin ile Android Uygulama

43

ÖZGEÇMİŞ

M.Buğra Kanmaz, 27.05.1984’te Erzurum’da doğdu. İlk ve orta eğitimini Bursa’da

tamamladı.2008 yılında Dokuz Eylül Üniversitesi Matematik Bölümünden mezun

oldu.Yabancı dilini geliştirmek ve Yüksek Lisans yapmak için gittiği ABD’de

Matematik alanında çalışmalarda da bulundu.2011 yılında kesin dönüş yaptıktan

sonra askerlik vazifesini yedek subay olarak ifa etti. 2012 yılında Savunma Sanayii

Müsteşarlığı’nda Proje Asistanı olarak çalışmaya başladı. 2014 yılından itibaren

Bursa-Eskişehir-Bilecik Kalkınma Ajansı’nda Yatırım Destek Uzman Adayı olarak

çalışmaktadır.