Xamarin.Forms 웹 서비스 소개

Download Sample 샘플 다운로드

이 항목에서는 다른 웹 서비스와 통신하는 방법을 보여 주는 샘플 애플리케이션의 연습을 Xamarin.Forms 제공합니다. 각 웹 서비스는 별도의 샘플 애플리케이션을 사용하지만 기능적으로 유사하며 공통 클래스를 공유합니다.

아래에 설명된 샘플 할 일 목록 애플리케이션은 여러 유형의 웹 서비스 백 엔드 Xamarin.Forms에 액세스하는 방법을 보여 주는 데 사용됩니다. 다음과 같은 기능을 제공합니다.

  • 작업 목록을 봅니다.
  • 작업을 추가, 편집 및 삭제합니다.
  • 작업의 상태 '완료'로 설정합니다.
  • 작업의 이름 및 메모 필드를 말합니다.

모든 경우에 작업은 웹 서비스를 통해 액세스되는 백 엔드에 저장됩니다.

애플리케이션이 시작되면 웹 서비스에서 검색된 작업을 나열하고 사용자가 새 작업을 만들 수 있도록 하는 페이지가 표시됩니다. 작업을 클릭하면 작업을 편집, 저장, 삭제 및 말할 수 있는 두 번째 페이지로 애플리케이션이 이동합니다. 최종 애플리케이션은 다음과 같습니다.

Todo application - first pageTodo application - second page

이 가이드의 각 항목에서는 특정 유형의 웹 서비스 백 엔드를 보여 주는 다른 버전의 애플리케이션에 대한 다운로드 링크를 제공합니다. 각 웹 서비스 스타일과 관련된 페이지에서 관련 샘플 코드를 다운로드합니다.

애플리케이션 해부학 이해

각 샘플 애플리케이션에 대한 공유 코드 프로젝트는 세 개의 기본 폴더로 구성됩니다.

폴더 목적
데이터 데이터 항목을 관리하고 웹 서비스와 통신하는 데 사용되는 클래스 및 인터페이스를 포함합니다. 최소한 여기에는 웹 서비스 작업을 호출하기 위해 클래스의 App 속성을 통해 노출되는 클래스가 포함 TodoItemManager 됩니다.
모델 애플리케이션에 대한 데이터 모델 클래스를 포함합니다. 최소한 애플리케이션에서 사용하는 데이터의 단일 항목을 모델로 하는 클래스가 포함됩니다 TodoItem . 폴더에는 사용자 데이터를 모델링하는 데 사용되는 추가 클래스도 포함될 수 있습니다.
애플리케이션의 페이지를 포함합니다. 이는 일반적으로 인증 목적으로 사용되는 클래스 및 TodoItemPage 클래스 및 추가 클래스로 구성 TodoListPage 됩니다.

각 애플리케이션에 대한 공유 코드 프로젝트는 다음과 같은 여러 중요한 파일로 구성됩니다.

파일 목적
Constants.cs Constants 애플리케이션에서 웹 서비스와 통신하는 데 사용하는 상수만 지정하는 클래스입니다. 이러한 상수는 공급자에서 만든 개인 백 엔드 서비스에 액세스하려면 업데이트해야 합니다.
ITextToSpeech.cs ITextToSpeech 구현 클래스에서 메서드를 Speak 제공해야 하므로 지정하는 인터페이스입니다.
Todo.cs App 각 플랫폼에서 애플리케이션이 표시할 첫 번째 페이지와 TodoItemManager 웹 서비스 작업을 호출하는 데 사용되는 클래스를 모두 인스턴스화하는 클래스입니다.

보기 페이지

대부분의 샘플 애플리케이션에는 다음 두 개 이상의 페이지가 포함되어 있습니다.

  • TodoListPage – 이 페이지에는 인스턴스 목록이 TodoItem 표시되고 속성이 있으면 눈금 아이콘이 TodoItem.Donetrue표시됩니다. 항목을 클릭하면 해당 항목으로 이동합니다 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 를 삽입합니다.