Xamarin.Forms 웹 서비스 소개
이 항목에서는 다른 웹 서비스와 통신하는 방법을 보여 주는 샘플 애플리케이션의 연습을 Xamarin.Forms 제공합니다. 각 웹 서비스는 별도의 샘플 애플리케이션을 사용하지만 기능적으로 유사하며 공통 클래스를 공유합니다.
아래에 설명된 샘플 할 일 목록 애플리케이션은 여러 유형의 웹 서비스 백 엔드 Xamarin.Forms에 액세스하는 방법을 보여 주는 데 사용됩니다. 다음과 같은 기능을 제공합니다.
- 작업 목록을 봅니다.
- 작업을 추가, 편집 및 삭제합니다.
- 작업의 상태 '완료'로 설정합니다.
- 작업의 이름 및 메모 필드를 말합니다.
모든 경우에 작업은 웹 서비스를 통해 액세스되는 백 엔드에 저장됩니다.
애플리케이션이 시작되면 웹 서비스에서 검색된 작업을 나열하고 사용자가 새 작업을 만들 수 있도록 하는 페이지가 표시됩니다. 작업을 클릭하면 작업을 편집, 저장, 삭제 및 말할 수 있는 두 번째 페이지로 애플리케이션이 이동합니다. 최종 애플리케이션은 다음과 같습니다.
이 가이드의 각 항목에서는 특정 유형의 웹 서비스 백 엔드를 보여 주는 다른 버전의 애플리케이션에 대한 다운로드 링크를 제공합니다. 각 웹 서비스 스타일과 관련된 페이지에서 관련 샘플 코드를 다운로드합니다.
애플리케이션 해부학 이해
각 샘플 애플리케이션에 대한 공유 코드 프로젝트는 세 개의 기본 폴더로 구성됩니다.
폴더 | 목적 |
---|---|
데이터 | 데이터 항목을 관리하고 웹 서비스와 통신하는 데 사용되는 클래스 및 인터페이스를 포함합니다. 최소한 여기에는 웹 서비스 작업을 호출하기 위해 클래스의 App 속성을 통해 노출되는 클래스가 포함 TodoItemManager 됩니다. |
모델 | 애플리케이션에 대한 데이터 모델 클래스를 포함합니다. 최소한 애플리케이션에서 사용하는 데이터의 단일 항목을 모델로 하는 클래스가 포함됩니다 TodoItem . 폴더에는 사용자 데이터를 모델링하는 데 사용되는 추가 클래스도 포함될 수 있습니다. |
뷰 | 애플리케이션의 페이지를 포함합니다. 이는 일반적으로 인증 목적으로 사용되는 클래스 및 TodoItemPage 클래스 및 추가 클래스로 구성 TodoListPage 됩니다. |
각 애플리케이션에 대한 공유 코드 프로젝트는 다음과 같은 여러 중요한 파일로 구성됩니다.
파일 | 목적 |
---|---|
Constants.cs | Constants 애플리케이션에서 웹 서비스와 통신하는 데 사용하는 상수만 지정하는 클래스입니다. 이러한 상수는 공급자에서 만든 개인 백 엔드 서비스에 액세스하려면 업데이트해야 합니다. |
ITextToSpeech.cs | ITextToSpeech 구현 클래스에서 메서드를 Speak 제공해야 하므로 지정하는 인터페이스입니다. |
Todo.cs | App 각 플랫폼에서 애플리케이션이 표시할 첫 번째 페이지와 TodoItemManager 웹 서비스 작업을 호출하는 데 사용되는 클래스를 모두 인스턴스화하는 클래스입니다. |
보기 페이지
대부분의 샘플 애플리케이션에는 다음 두 개 이상의 페이지가 포함되어 있습니다.
- TodoListPage – 이 페이지에는 인스턴스 목록이
TodoItem
표시되고 속성이 있으면 눈금 아이콘이TodoItem.Done
true
표시됩니다. 항목을 클릭하면 해당 항목으로 이동합니다TodoItemPage
. 또한 기호를 클릭하여 + 새 항목을 만들 수 있습니다. - TodoItemPage – 이 페이지에는 선택한
TodoItem
항목에 대한 세부 정보가 표시되며 편집, 저장, 삭제 및 음성을 사용할 수 있습니다.
또한 일부 샘플 애플리케이션에는 사용자 인증 프로세스를 관리하는 데 사용되는 추가 페이지가 포함되어 있습니다.
데이터 모델링
각 샘플 애플리케이션은 클래스를 TodoItem
사용하여 표시되고 스토리지를 위해 웹 서비스로 전송되는 데이터를 모델링합니다. 다음 코드 예제는 TodoItem
클래스를 보여줍니다.
public class TodoItem
{
public string ID { get; set; }
public string Name { get; set; }
public string Notes { get; set; }
public bool Done { get; set; }
}
이 ID
속성은 각 TodoItem
인스턴스를 고유하게 식별하는 데 사용되며 각 웹 서비스에서 업데이트 또는 삭제할 데이터를 식별하는 데 사용됩니다.
웹 서비스 작업 호출
웹 서비스 작업은 클래스를 TodoItemManager
통해 액세스되고 클래스 인스턴스는 속성을 통해 App.TodoManager
액세스할 수 있습니다. 이 클래스는 TodoItemManager
웹 서비스 작업을 호출하는 다음 메서드를 제공합니다.
- GetTasksAsync – 이 메서드는 웹 서비스에서 검색된 인스턴스를
TodoItem
사용하여 컨트롤TodoListPage
을 채우는ListView
데 사용됩니다. - SaveTaskAsync – 이 메서드는 웹 서비스에서 인스턴스를 만들거나 업데이트하는
TodoItem
데 사용됩니다. - DeleteTaskAsync – 이 메서드는 웹 서비스에서 인스턴스를
TodoItem
삭제하는 데 사용됩니다.
또한 일부 샘플 애플리케이션에는 사용자 인증 프로세스를 관리하는 데 사용되는 클래스의 추가 메서드 TodoItemManager
가 포함되어 있습니다.
메서드는 웹 서비스 작업을 직접 TodoItemManager
호출하는 대신 생성자에 삽입되는 종속 클래스에서 메서드를 TodoItemManager
호출합니다. 예를 들어 한 샘플 애플리케이션은 RestService
REST API를 사용하여 데이터에 액세스하는 구현을 제공하기 위해 생성자에 클래스 TodoItemManager
를 삽입합니다.