Xamarin ile Android Uygulama
-
Upload
mbugra-kanmaz -
Category
Technology
-
view
3.694 -
download
2
Transcript of 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
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
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.
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
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
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
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
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.
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.
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.
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.
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ığı
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ı
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ı
6
Şekil 2-3 Yükleme Seçim Ekranı
Şekil 2-4 Android SDK'nın Kurulum Yeri Ekranı
7
Şekil 2-5 Yüklenmesi Gereken Programlar Listesi
Şekil 2-6 Lisans Kabul Ekranı
8
Şekil 2-7 Yükleme İlerlemesi
Şekil 2-8 Windows'un Kurulumu Konfigure Etmesi
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.
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ı
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:
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ı
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.
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ı
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
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.
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ü
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ı
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.
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.
21
Şekil 4-2 Xamarin Studio Açılış Ekranı
Şekil 4-3 Yeni Android Uygulama Çözümü
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
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
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
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
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ı
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
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ı
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”
30
adlı sıınfların kodlarını da eklentiler yapılmasını gerektirir.
Şekil 4-17 "TaskViewModel" Kodları
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
32
“TaskList” sınıfı kodları da şu şekilde güncellenir.
Şekil 4-19 "TaskList" Sınıfına Eklenecek Kodlar
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ı
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ı
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ı
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ı
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
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
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ü
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ü
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.
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
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.