Xamarin ve Visual Studio İle IOS Uygulama Geliştirme Bölüm2

Selamlar,

Bugün, bir önceki makalde, IOS ortamı için yazılan uygulama değiştirilip kapsamlı bir uygulama haline getirilecektir. Amaç işe başvuran kişilerin resimlerinin, kendilerine ait açıklamaların ve titlelarının görüneceği ekranın yapılması ve ilgili profiller arasında ileri ve geri hareket edilebilmesidir.

Öncelikle başvuran kişilerin resimlerinin gözükeceği ImageView aşağıda görüldüğü gibi sayfaya sürüklenerek bırakılır.

Screen Shot 2016-03-01 at 14.41.21

Kişisel bilgilerin yazılacağı Text View Başlığın hemen altına yerleştirilir.

Screen Shot 2016-03-01 at 14.52.34

Sıra geldi UI’da oluşturulan bu 2 objenin kodlarını oluşturmaya. Aşağıda görüldüğü gibi yeni eklene Image View ve Text View “command” tuşuna basılı tutularak “Assistant Editor” sayfasına “GalleryViewController.h” segmesi altında sürüklenerek bırakılır ve kaydedilir.

Screen Shot 2016-03-01 at 15.15.18

Windows 10 tarafına geçilip Visual Studio’da “GridViewController.designer.cs” açıldığında, kodların aşağıdaki gibi değiştiği görülebilir.

Visual Studio Resources segmesine gelinip proje içinde kullanılacak resimler aşağıdaki gibi eklenir. Eklenen resimlerin uzantısı “.png” olması gerekmektedir. Aksi takdirde ilgili resimler gözükmeyecektir.

Screen Shot 2016-03-02 at 02.43.52

Ekenen resimlerin “Build Action”‘ı “BundleResource” olarak secilmelidir.

Screen Shot 2016-03-02 at 02.44.31

Windows / Portable Class Library altında DAL adında yeni proje aşağıdaki gibi yaratılır.

DAL

Karşımıza aşağıda görüldüğü gibi, en az 2 tane paltformun seçileceği bir ekran gelir. Mobil platformlar seçilip ilgili sınıf yaratılır.

Screen Shot 2016-03-01 at 17.57.30

Yaratılan sınıfın adına “Person.cs” verilir. İlgili kodlar aşağıdaki gibidir.

PersonManager.cs: İlgili sınıfa bağlı olarak dizi döndüren(Person[]) bir başka sınıf, aşağıdaki gibi yazılır.

PersonManager(1):

Aşağıda görüldüğü gibi başlangıç durumunda gidilecek ilk eleman, bir sonraki veya bir önceki elemanı belli koşullara göre seçen methodlar ve son olarak bulunan geçerli Person sınıfını alıcak method aşağıdaki gibi tanımlanmıştır.

PersonManager(2):

Yukarida yazilan DAL projesinin var olan “IphoneGallery” projesine eklenebilmesi için yeni bir “Map Network Drive”‘ın aşağıda görüldüğü gibi oluşturulması gerekmektedir. Aksi takdirde ilgili yola göre DAL projesine erişilememektedir.

Screen Shot 2016-03-02 at 02.04.33

GalleryViewController: Kodlar ilgili kütüpahane de kullanılarak, aşağıdaki gibi değiştirilir.

  • PersonManger tipinde manager tanımlanır.
  • UpdateUI() methodu ile current yani geçerli Person’ını “Title”,”Description” ve “Image”‘ı basılır.
  • ViewDidLoad() methodunda MoveFirst() ile ilk kayda gidilir. Ve UpdateUI() methodu çağrılarak ilk kayıt bilgileri ekrana basılır.
  • “BtnNext” ve “BtnPrev” buttonlarına basılarak bir önceki ve bir sonraki kayda “manager.MovePrev()” ve “manager.MoveNext()” methodları ile gidilir ve UpdateUI() methodu ile ekrana basılır.
  • Resimler ekrana Android uygulamaya göre çok daha kolay bir şekilde text isimlerinden bulunarak “UIImage.FromBundle()” methodu kullanılarak ekrana basılmaktadır.

Screen Shot 2016-03-02 at 13.34.46

Şimdi sıra geldi önceki ve sonraki buttonlarının duruma göre aktif pasif yapmaya. Öncelikle “DAL” projesinde “PersonManager.cs” sınıfına aşşağıdaki propertyler eklenir.

Yukarıdaki propertylerden yola çıkarak “GalleryViewController” sınıfıdaki UpdateUI() methodu aşağıdaki gibi güncellenir.

Yukarıda görüldüğü gibi herbir yeni kayıt çekildiğinde o anki geçerli konumuna göre “CanMovePrev” ve “CanMoveNext” propertylerine göre Önceki(btnPrev) ve Sonraki(btnNext) buttonları enabled yada disabled hale getirilir. Ayrıca arka renkleri koşula göre değiştirilir.

Böylece basit bir Iphone uygulamasını baştan sona kodladık. UI tarafını XCode ve Xamarin kullanıp Mac Os X ortamında oluşturduktan sonra, Windows 10 tarafında Visual Studio kullanarak kodlamasını tamamladık. Mac Os X tarafında XCode ile açılan similator ile ilgili uygulama test edilip gerekli çalışmalar yapılmıştır. Geldik bir makalenin daha sonuna. Yeni bir makalede görüşmek üzere hoşçakalın.

Source: https://www.pluralsight.com/courses/cross-platform-ios-android-visual-studio-csharp

Herkes Görsün:

Bunlar da hoşunuza gidebilir...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.