Aracılığıyla paylaş


Xamarin.Forms Web Hizmetlerine Giriş

Bu konu başlığı altında, farklı web hizmetleriyle nasıl iletişim kuracaklarını gösteren örnek uygulamanın kılavuzu Xamarin.Forms sağlanır. Her web hizmeti ayrı bir örnek uygulama kullansa da, işlevsel olarak benzerdir ve ortak sınıfları paylaşır.

Aşağıda açıklanan örnek yapılacaklar listesi uygulaması, ile Xamarin.Formsfarklı web hizmeti arka uç türlerine nasıl erişilir göstermek için kullanılır. Aşağıdakilere yönelik işlevler sağlar:

  • Görevlerin listesini görüntüleyin.
  • Görevleri ekleyin, düzenleyin ve silin.
  • Görevin durumunu 'bitti' olarak ayarlayın.
  • Görevin adını ve not alanlarını söyleyin.

Her durumda, görevler bir web hizmeti aracılığıyla erişilen bir arka uçta depolanır.

Uygulama başlatıldığında, web hizmetinden alınan görevleri listeleyen ve kullanıcının yeni bir görev oluşturmasına izin veren bir sayfa görüntülenir. Göreve tıklanması, uygulamada görevin düzenlenebildiği, kaydedilebildiği, silinebildiği ve konuşulabileceği ikinci bir sayfaya gider. Son uygulama aşağıda gösterilmiştir:

Yapılacaklar uygulaması - ilk sayfaYapılacaklar uygulaması - ikinci sayfa

Bu kılavuzdaki her konu başlığında, uygulamanın belirli bir web hizmeti arka ucu türünü gösteren farklı bir sürümüne indirme bağlantısı sağlanır. Her web hizmeti stiliyle ilgili sayfada ilgili örnek kodu indirin.

Uygulama anatomisini anlama

Her örnek uygulama için paylaşılan kod projesi üç ana klasörden oluşur:

Klasör Purpose
Veri Veri öğelerini yönetmek ve web hizmetiyle iletişim kurmak için kullanılan sınıfları ve arabirimleri içerir. En azından bu, web hizmeti işlemlerini çağırmak için sınıfındaki App bir özellik aracılığıyla kullanıma sunulan sınıfını içerirTodoItemManager.
Modeller Uygulamanın veri modeli sınıflarını içerir. En azından bu, uygulama tarafından kullanılan tek bir veri öğesini modelleyen sınıfını içerir TodoItem . Klasör, kullanıcı verilerini modellemek için kullanılan tüm ek sınıfları da içerebilir.
Görünümler Uygulamanın sayfalarını içerir. Bu genellikle ve TodoItemPage sınıflarından TodoListPage ve kimlik doğrulaması amacıyla kullanılan tüm ek sınıflardan oluşur.

Her uygulama için paylaşılan kod projesi de bir dizi önemli dosyadan oluşur:

Dosya Purpose
Constants.cs Constants sınıfı, web hizmetiyle iletişim kurmak için uygulama tarafından kullanılan tüm sabitleri belirtir. Bu sabitler, bir sağlayıcıda oluşturulan kişisel arka uç hizmetinize erişmek için güncelleştirme gerektirir.
ITextToSpeech.cs yönteminin ITextToSpeechSpeak tüm uygulayan sınıflar tarafından sağlanması gerektiğini belirten arabirim.
Todo.cs Her App platformda uygulama tarafından görüntülenecek ilk sayfanın ve web hizmeti işlemlerini çağırmak için kullanılan sınıfın TodoItemManager örneğini oluşturmadan sorumlu sınıf.

Görünüm sayfaları

Örnek uygulamaların çoğu en az iki sayfa içerir:

  • TodoListPage – Bu sayfada örneklerin TodoItem listesi ve özelliği trueise TodoItem.Done bir onay işareti simgesi görüntülenir. Bir öğeye tıklanması, öğesine TodoItemPagegider. Ayrıca, simgeye tıklanarak + yeni öğeler oluşturulabilir.
  • TodoItemPage – Bu sayfa seçilen TodoItemöğesinin ayrıntılarını görüntüler ve düzenlenmesini, kaydedilmesini, silinmesini ve konuşulmasını sağlar.

Ayrıca, bazı örnek uygulamalar kullanıcı kimlik doğrulama işlemini yönetmek için kullanılan ek sayfalar içerir.

Verileri modelleme

Her örnek uygulama, görüntülenen ve depolama için web hizmetine gönderilen verileri modellemek için sınıfını kullanır TodoItem . Aşağıdaki kod örneği sınıfını TodoItem gösterir:

public class TodoItem
{
    public string ID { get; set; }
    public string Name { get; set; }
    public string Notes { get; set; }
    public bool Done { get; set; }
}

ID özelliği her örneği benzersiz olarak tanımlamak TodoItem için kullanılır ve her web hizmeti tarafından güncelleştirilecek veya silinecek verileri tanımlamak için kullanılır.

Web hizmeti işlemlerini çağırma

Web hizmeti işlemlerine TodoItemManager sınıfı üzerinden erişilir ve sınıfın bir örneğine özelliği aracılığıyla App.TodoManager erişilebilir. TodoItemManager sınıfı, web hizmeti işlemlerini çağırmak için aşağıdaki yöntemleri sağlar:

  • GetTasksAsync – bu yöntem üzerindeki TodoListPage denetimi web hizmetinden TodoItem alınan örneklerle doldurmak ListView için kullanılır.
  • SaveTaskAsync – Bu yöntem web hizmetinde bir TodoItem örnek oluşturmak veya güncelleştirmek için kullanılır.
  • DeleteTaskAsync – Bu yöntem web hizmetindeki bir TodoItem örneği silmek için kullanılır.

Ayrıca, bazı örnek uygulamalar sınıfında kullanıcı kimlik doğrulama işlemini yönetmek için kullanılan ek yöntemler TodoItemManager içerir.

Yöntemler, web hizmeti işlemlerini doğrudan çağırmak yerine oluşturucuya TodoItemManagerTodoItemManager eklenen bağımlı bir sınıfta yöntemleri çağırır. Örneğin bir örnek uygulama, verilere erişmek için REST API'lerini RestService kullanan uygulamayı sağlamak için sınıfını TodoItemManager oluşturucuya ekler.