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:
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 ITextToSpeech Speak 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ğitrue
iseTodoItem.Done
bir onay işareti simgesi görüntülenir. Bir öğeye tıklanması, öğesineTodoItemPage
gider. 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 hizmetindenTodoItem
alınan örneklerle doldurmakListView
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 TodoItemManager
TodoItemManager
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.