이 저장소의 샘플 앱을 Gogogiphy라고합니다.
Gogogiphy는 "Xamarin 양식을 갖춘 Visual Studio App Center 학습"이라는 책에 사용되는 샘플 학습 앱입니다. 이 프로젝트를 포크 하거나이 프로젝트를 Azure DevOps로 가져올 수 있습니다. 내 책에서 그 단계를 보여 드리겠습니다.
이 앱을 관리하거나 앞으로 버그를 수정하지 않으므로 풀 요청을 제출하지 마십시오.
이 앱은 순전히 훈련 및 데모 목적으로 사용됩니다. C#을 사용하여 .NET 표준의 Xamarin Form 프레임 워크로 설계되었습니다.
샘플 앱의 2 가지 버전 인 시작 및 마감을 찾을 수 있습니다. 둘 다 기능적입니다. 시작 폴더의 프로젝트에는 App Center Nuget 패키지와 인터페이스하는 기능을 제외한 대부분의 작업 기능이 있습니다. 이러한 기능은 빈 스터브로 남겨집니다. "todo"를 검색하여 Visual Studio에서 빈 스터브를 찾을 수 있습니다. 동일한 기능의 작동 버전은 마무리 폴더에서 찾을 수 있습니다. 그렇지 않으면 두 프로젝트 모두 동일합니다.
무엇 보다도이 앱은 FreshMVVM 프레임 워크를 사용하여 설계되었습니다. Model-View-ViewModel 디자인 패턴을 이해하는 경우 Page Navigation의 최종 요구, XAML 페이지의 BindingContext 사용, 종속성 주입 및 통제 실습의 반전을 이해합니다. 저자 인 Michael Ridland가 Xamarin 양식을 위해 특별히 MVVM 프레임 워크를 만들고 Xamarin Forms 앱에 쉽게 통합 할 수 있었기 때문에 이러한 각 개념에 대해 자세히 설명하지는 않지만 FreshMVVM 프레임 워크를 사용했습니다. 아래의 Github 페이지에서 자세한 정보를 찾을 수 있습니다.
https://github.com/rid00z/freshmvvm
아래의 블로그에서 그의 빠른 시작 가이드에서 더 유용한 정보를 찾을 수 있습니다.
https://michaelridland.com/xamarin/freshmvvm-quick-start-guide/
앱에서 사용한 다음 큰 툴킷은 Xamarin Essentials입니다. 이 툴킷은 개발자에게 단일 크로스 플랫폼 API를 사용하여 Android, iOS 및 Windows 용으로 각 API를 별도로 학습하는 대신 연결성, 배터리, 클립 보드 등과 같은 크로스 플랫폼 특정 기능을 활용할 수있는 전원을 제공합니다. 아래 사이트에서 Xamarin Essentials 용 Github 페이지를 찾을 수 있습니다. 이 샘플 앱에서는 연결, MainThread 및 파일 시스템 도우미 API를 사용합니다. 내 샘플 앱을 자신의 앱의 기반으로 사용하고 더 많은 아이디어를 생각해 내면 Xamarin Essentials의 크로스 플랫폼 API를 활용할 수 있습니다. 아래 링크에서 Github 페이지와 문서를 읽어 보시기 바랍니다.
https://github.com/xamarin/essentials https://docs.microsoft.com/en-us/xamarin/essentials/
Xamarin Forms Scen 그에 대해 많이 알지 못하면 Xamarin 양식 및 기타 기술과 관련된 관련 방법 기사를 많이 게시하기 때문에 아래의 블로그를 항상 따라갈 수 있습니다. 그는 정기적으로 배울 수있는 샘플 코드를 게시합니다.
https://montemagno.com/
이 샘플 앱에 사용되는 또 다른 중요한 라이브러리는 Ffimageloading 라이브러리입니다. 이 라이브러리는 앱에 GIF를 표시 할 수있는 기능을 제공하기 때문에 중요합니다. 이 라이브러리는 Xamarin.ios, Xamarin.Android 및 Xamarin.forms와 같은 다양한 프레임 워크로 제공됩니다. 나는 단순히 컨트롤을 꽂고 재생하고 몇 가지 설정을 수정하고 걱정하지 않기 때문에 개인적 으로이 도서관을 좋아합니다. 샘플 앱의 코드를 탐색 할 때이 라이브러리에 대한 자세한 내용을 읽어 보시기 바랍니다.
https://github.com/luberda-molinet/ffimageloading https://github.com/luberda-molinet/ffimageloading/wiki
물론, 이러한 GIF는 로컬 어딘가에 저장되어있어서 사용자가 나중에 볼 수 있도록 컬렉션에 이미지를 저장할 수 있어야합니다. 그렇기 때문에 솔루션의 핵심 프로젝트에 SQLITE를 구현 한 이유는 초보자에게도 구현하기 쉽고 배우기가 쉽기 때문입니다. 핵심 프로젝트에 통합 된 NUGET 패키지는 SQLITE 클라이언트 주변의 .NET 래퍼 패키지입니다. 아래 링크에서 자세한 정보를 찾을 수 있습니다.
https://github.com/praeclarum/sqlite-net https://www.nuget.org/packages/sqlite-net-pcl https://www.sqlite.org/index.html
마지막으로, 배우는 최종 중요한 프레임 워크는 JSON.NET입니다. 웹 사이트 나 웹 API 프로젝트 또는 모바일 앱을 개발 한 경우 JSON (JavaScript 객체 표기법)은 사용하기 쉽고 읽기 쉽고 .NET 객체로 직렬화 또는 사형화하기 쉽기 때문에 Choice Payload-of-Choice가되었습니다. JSON.NET을 처음 사용하는 경우 아래 웹 사이트의 문서를 읽어 보시기 바랍니다.
https://www.newtonsoft.com/json https://www.newtonsoft.com/json/help/
이 간단한 단계에 따라 iOS의 앱 비밀 가치를 얻으십시오.
이 간단한 단계에 따라 Android의 앱 비밀 가치를 얻으십시오.
다음과 같은 간단한 단계를 따라 Giphy 계정을 설정하십시오.
다음 웹 사이트로 이동하여 개발자 Giphy 계정을 설정하고 대시 보드로 이동하십시오.
https://developers.giphy.com
계정에 새 앱을 설정하십시오. "앱"아래에 나열된 앱을 찾을 수 있습니다. API 키는 내부에 제공됩니다.
값을 복사하고 settings.cs의 apikey 변수에서 "giphyapikey"문자열 값을 교체하십시오.
주의
현재 존재하는 설정 클래스의 변경 사항을 단순히 커밋하여 앱 비밀과 API 키 값을 소스 컨트롤에 커밋하는 것은 안전하지 않습니다. 위에서 설명한 단계를 사용하여 iOS 및 Android 시뮬레이터에서 앱을 로컬로 실행할 수 있습니다. 그러나 비밀 값과 API 키를 소스 컨트롤에 커밋하지 않고 각 빌드 전에 동적으로 해당 값을 대체 할 수있는 앱 센터를 얻지 않기 위해 어떤 단계가 필요한지 책에서 보여 드리겠습니다.