Azure Mobile Apps와 함께 Xamarin.Android 앱 빌드

이 자습서에서는 Xamarin 및 Azure 모바일 앱 백 엔드를 사용하여 Android 모바일 앱에 클라우드 기반 백 엔드 서비스를 추가하는 방법을 보여 줍니다. Azure에 앱 데이터를 저장하는 새 모바일 앱 백 엔드와 간단한 Todo 목록 앱을 모두 만듭니다.

Azure 앱 Service에서 Mobile Apps 기능을 사용하는 방법에 대한 다른 Xamarin Android 자습서 전에 이 자습서를 완료해야 합니다.

필수 조건

이 자습서를 완전히 학습하려면 다음이 필요합니다.

샘플 앱 다운로드

  1. 브라우저에서 azure-mobile-apps 리포지 토리를 엽니다.

  2. 코드 드롭다운을 열고 ZIP 다운로드를 선택합니다.

    Screenshot of the Code menu on GitHub.

  3. 다운로드가 완료되면 다운로드 폴더를 열고 파일을 찾습니다azure-mobile-apps-main.zip.

  4. 다운로드한 파일을 마우스 오른쪽 단추로 클릭하고 모두 추출...을 선택합니다.

    원하는 경우 PowerShell을 사용하여 보관 파일을 확장할 수 있습니다.

    C:\Temp> Expand-Archive azure-mobile-apps-main.zip
    

샘플은 추출된 파일 내의 샘플 폴더에 있습니다. 빠른 시작 샘플의 이름은 TodoApp.입니다. 파일을 두 번 클릭하여 Visual Studio에서 샘플을 열 수 있습니다 TodoApp.sln .

Screenshot of the file explorer for the solution.

Azure에 백 엔드 배포

참고 항목

다른 빠른 시작에서 백 엔드를 이미 배포한 경우 동일한 백 엔드를 사용하고 이 단계를 건너뛸 수 있습니다.

백 엔드 서비스를 배포하려면 다음을 수행합니다.

  • Azure 앱 Service 및 Azure SQL Database를 Azure에 프로비전합니다.
  • Visual Studio를 사용하여 새로 만든 Azure 앱 Service에 서비스 코드를 배포합니다.

Azure 개발자 CLI를 사용하여 모든 단계 완료

TodoApp 샘플은 Azure 개발자 CLI를 지원하도록 구성됩니다. 모든 단계(프로비전 및 배포)를 완료하려면 다음을 수행합니다.

  1. Azure 개발자 CLI를 설치합니다.
  2. 터미널을 열고 디렉터리를 파일이 포함된 폴더로 변경합니다 TodoApp.sln . 이 디렉터리에는 .azure.yaml
  3. azd up을 실행합니다.

Azure에 아직 로그인하지 않은 경우 브라우저가 시작되어 로그인을 요청합니다. 그러면 구독 및 Azure 지역을 사용할지 묻는 메시지가 표시됩니다. 그런 다음 Azure 개발자 CLI는 필요한 리소스를 프로비전하고 서비스 코드를 선택한 Azure 지역 및 구독에 배포합니다. 마지막으로 Azure 개발자 CLI는 적절한 Constants.cs 파일을 작성합니다.

데이터베이스에 azd env get-values 직접 액세스하려는 경우 명령을 실행하여 SQL 인증 정보를 확인할 수 있습니다.

Azure 개발자 CLI 를 사용하여 단계를 완료한 경우 다음 단계를 진행합니다. Azure 개발자 CLI를 사용하지 않으려면 수동 단계를 진행합니다.

Azure에서 리소스를 만듭니다.

  1. 터미널을 열고 디렉터리를 파일이 포함된 폴더로 변경합니다 TodoApp.sln . 이 디렉터리에는 .azuredeploy.json

  2. Azure CLI를 사용하여 로그인하고 구독을 선택했는지 확인합니다.

  3. 새 리소스 그룹 만들기:

    az group create -l westus -g quickstart
    

    이 명령은 미국 서부 지역에 리소스 그룹을 만듭니다 quickstart . 원하는 지역을 선택할 수 있으며, 리소스를 만들 수 있습니다. 이 자습서에서 멘션 동일한 이름과 지역을 사용해야 합니다.

  4. 그룹 배포를 사용하여 리소스를 만듭니다.

    az deployment group create -g quickstart --template-file azuredeploy.json --parameters sqlPassword=MyPassword1234
    

    SQL 관리istrator 암호에 대한 강력한 암호를 선택합니다. 나중에 데이터베이스에 액세스할 때 필요합니다.

  5. 배포가 완료되면 나중에 필요한 중요한 정보를 보관하므로 출력 변수를 가져옵니다.

    az deployment group show -g quickstart -n azuredeploy --query properties.outputs
    

    출력 예제는 다음과 같습니다.

    Screenshot of command line results.

  6. 나중에 사용할 수 있도록 출력의 각 값을 기록해 둡니다.

서비스 코드 게시

TodoApp.sln Visual Studio에서 엽니다.

  1. 오른쪽 창에서 솔루션 탐색기를 선택합니다.

  2. 프로젝트를 마우스 오른쪽 단추로 TodoAppService.NET6 클릭한 다음 시작 프로젝트로 설정을 선택합니다.

  3. 위쪽 메뉴에서 빌드>게시 TodoAppService.NET6을 선택합니다.

  4. 게시 창에서 대상: Azure를 선택한 다음, 다음을 누릅니.

    Screenshot of the target selection window.

  5. 특정 대상을 선택합니다. Azure 앱 서비스(Windows)를 선택한 다음, 다음을 누릅니.

    Screenshot of the specific target selection window.

  6. 필요한 경우 로그인하고 적절한 구독 이름을 선택합니다.

  7. 보기가 리소스 그룹으로 설정되어 있는지 확인합니다.

  8. 리소스 그룹을 확장한 quickstart 다음, 이전에 만든 App Service를 선택합니다.

    Screenshot of the app service selection window.

  9. 마침을 선택합니다.

  10. 게시 프로필 만들기 프로세스가 완료되면 닫기를 선택합니다.

  11. 서비스 종속성을 찾아 SQL Server 데이터베이스 옆에 있는 삼중 점을 선택한 다음, 커넥트 선택합니다.

    Screenshot showing the S Q L server configuration selection.

  12. Azure SQL Database를 선택한 다음, 다음을 선택합니다.

  13. 빠른 시작 데이터베이스를 선택한 다음, 다음을 선택합니다.

    Screenshot of the database selection window.

  14. 배포 출력에 있던 SQL 사용자 이름 및 암호를 사용하여 양식을 입력한 다음, 다음을 선택합니다.

    Screenshot of the database settings window.

  15. 마침을 선택합니다.

  16. 완료되면 닫기를 선택합니다.

  17. 게시를 선택하여 이전에 만든 Azure 앱 서비스에 앱을 게시합니다.

    Screenshot showing the publish button.

  18. 백 엔드 서비스가 게시되면 브라우저가 열립니다. URL에 추가 /tables/todoitem?ZUMO-API-VERSION=3.0.0 합니다.

    Screenshot showing the browser output after the service is published.

샘플 앱 구성

클라이언트 애플리케이션은 백 엔드와 통신할 수 있도록 백 엔드의 기본 URL을 알고 있어야 합니다.

서비스를 Constants.cs 프로비전하고 배포하는 데 사용한 azd up 경우 파일이 생성되었으며 이 단계를 건너뛸 수 있습니다.

  1. 프로젝트를 확장합니다 TodoApp.Data .

  2. 프로젝트를 마우스 오른쪽 단추로 TodoApp.Data 클릭한 다음 클래스 추가>...를 선택합니다.

  3. 이름으로 입력 Constants.cs 한 다음 추가를 선택합니다.

    Screenshot of adding the Constants.cs file to the project.

  4. Constants.cs.example 파일을 열고 내용을 복사합니다(Ctrl-A, Ctrl-C 뒤에).

  5. 로 전환하고 Constants.cs모든 텍스트(Ctrl-A)를 강조 표시한 다음 예제 파일(Ctrl-V)의 내용을 붙여넣습니다.

  6. 서비스의 https://APPSERVICENAME.azurewebsites.net 백 엔드 URL로 바꿉니다.

    namespace TodoApp.Data
    {
        public static class Constants
        {
            /// <summary>
            /// The base URI for the Datasync service.
            /// </summary>
            public static string ServiceUri = "https://demo-datasync-quickstart.azurewebsites.net";
        }
    }
    

    게시 탭에서 서비스의 백 엔드 URL을 가져올 수 있습니다. https URL을 사용해야 합니다.

  7. 파일을 저장합니다. (Ctrl-S).

앱 빌드 및 실행

  1. 솔루션 탐색기에서 폴더를 확장합니다 xamarin-native .

  2. TodoApp.Android 프로젝트를 마우스 오른쪽 단추로 클릭하고 시작 프로젝트로 설정을 선택합니다.

  3. 위쪽 막대에서 CPU 구성 및 TodoApp.Android 대상을 선택합니다.

    Screenshot showing how to set the run configuration for a Xamarin Android app.

  4. 대신 Android Emulator가 표시되면 Android 에뮬레이터를 만들지 않은 것입니다. 자세한 내용은 Android 에뮬레이터 설정을 참조 하세요. 새 Android 에뮬레이터를 만들려면 다음을 수행합니다.

    • Android Android>장치 관리자 도구를>선택합니다.
    • + 새로 만들기를 선택합니다.
    • 왼쪽에서 다음 설정을 선택합니다.
      • 이름: quickstart
      • 기본 디바이스: 픽셀 5
      • 프로세서: x86_64
      • OS: Android 11.0 - API 30
      • Google API: 선택됨
    • 만들기를 실행합니다.
    • 필요한 경우 사용권 계약에 동의합니다. 그런 다음 이미지를 다운로드합니다.
    • 시작 단추가 나타나면 시작을 누릅니다.
    • Hyper-V 하드웨어 가속에 대한 메시지가 표시되면 계속하기 전에 하드웨어 가속을 사용하도록 설정하는 설명서를 읽어보세요.

    완료되면 Android 장치 관리자 닫습니다.

    계속하기 전에 Android 에뮬레이터를 시작합니다. Android 장치 관리자 열고 선택한 에뮬레이터 옆에 있는 시작을 눌러 이 작업을 수행할 수 있습니다.

  5. F5를 눌러 프로젝트를 빌드하고 실행합니다.

앱이 시작되면 에뮬레이터에 항목을 추가하는 빈 목록과 부동 작업 단추가 표시됩니다. 마케팅 목록의 구성원을 관리할 수 있습니다.

  • 부동 작업 단추를 누른 다음 일부 텍스트를 입력하여 항목을 추가합니다.
  • 검사 상자를 설정하거나 선택 취소하여 항목을 완료로 표시합니다.
  • 새로 고침 아이콘을 눌러 서비스에서 데이터를 다시 로드합니다.

Screenshot of the running Android app.

다음 단계

인증을 추가하여 자습서를 계속 진행합니다.