このリポジトリのサンプルアプリは、Gogogiphyと呼ばれます。
Gogogiphyは、「Xamarin Formsを使用したVisual Studio App Centerを学ぶ」という本で使用されるサンプル学習アプリです。このプロジェクトをフォークするか、このプロジェクトをAzure Devopsにインポートすることができます。私の本の中でそれらの手順をお見せします。
このアプリを管理したり、今後のバグを修正したりしないため、プルリクエストを送信しないでください。
このアプリは、純粋にトレーニングとデモンストレーションのために使用されます。 C#を使用して、.NET標準のXamarin Forms Frameworkで設計されています。
サンプルアプリの2つの異なるバージョンのスタートと終了があります。どちらも機能的です。 Startフォルダーのプロジェクトには、App Center Nugetパッケージとインターフェイスする機能を除き、ほとんどの機能関数があります。これらの関数は空のスタブとして残されています。 「TODO」を検索することで、Visual Studioで空のスタブを見つけることができます。同じ機能の作業バージョンは、仕上げフォルダーにあります。それ以外の場合、両方のプロジェクトは同一です。
何よりもまず、このアプリはfreshMVVMフレームワークを使用して設計されています。 Model-View-ViewModelの設計パターンを理解している場合、ページナビゲーションの最終的な必要性、XAMLページからのBindingContextの使用、依存関係のインジェクション、および反転統合プラクティスを理解します。これらの各概念についてはあまり詳しく説明しませんが、著者のマイケル・リドランドがザマリンの形式に特化したMVVMフレームワークを作成し、Xamarinフォームのアプリに簡単に統合できるようになったため、FreshMVVMフレームワークを利用しました。詳細については、以下の彼のGitHubページをご覧ください。
https://github.com/rid00z/freshmvvm
以下の彼のブログから彼のクイックスタートガイドに関するより有用な情報を見つけることができます。
https://michaelridland.com/xamarin/freshmvvm-quick-start-guide/
アプリで使用した次の大きなツールキットはXamarin Essentialsです。このツールキットは、Android、iOS、およびWindowsについて個別にAPIを個別に学習する代わりに、単一のクロスプラットフォームAPIを使用して、接続、バッテリー、クリップボードなどなどのクロスプラットフォームの特定の機能を活用する力を開発者に提供します。以下のサイトで、Xamarin EssentialsのGithubページを見つけることができます。このサンプルアプリでは、接続、MainThread、およびFile System Helper APIを使用しています。私のサンプルアプリを独自のアプリのベースとして使用することにし、より多くのアイデアを思いついた場合は、Xamarin EssentialsのクロスプラットフォームAPIを活用できます。以下のリンクで彼らのgithubページとドキュメントを読むことをお勧めします。
https://github.com/xamarin/essentials https://docs.microsoft.com/en-us/xamarin/essentials/
Xamarin Formsシーンで長い間大きな声を上げているJames Montemagnoは、Xamarin Essentialsの他のオープンソースの貢献者のチームの間で主要な貢献者です。彼についてあまり知らない場合は、Xamarinフォームや他のテクノロジーに関連する多くの関連するハウツー記事を公開しているため、彼のブログをいつでもフォローできます。彼はあなたが学ぶことができるサンプルコードを定期的に公開しています。
https://montemagno.com/
このサンプルアプリで使用されるもう1つの重要なライブラリは、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です。 WebサイトまたはWeb APIプロジェクト、またはモバイルアプリのいずれかを開発したことがある場合、JavaScriptオブジェクト表記(JSON)は、使いやすく、読みやすく、シリアル化やシリアル化や.NETオブジェクトに脱着できるため、Payload-of-Choiceになりました。 json.netに慣れていない場合は、以下のウェブサイトのドキュメントを読むことをお勧めします。
https://www.newtonsoft.com/json https://www.newtonsoft.com/json/help/
これらの簡単な手順に従って、iOSのアプリシークレット値を取得します。
これらの簡単な手順に従って、AndroidのApp Secret Valueを取得します。
これらの簡単な手順に従って、Giphyアカウントを設定します。
次のWebサイトに移動し、開発者Giphyアカウントを設定し、ダッシュボードに移動します。
https://developers.giphy.com
アカウントに新しいアプリを設定します。 「あなたのアプリ」の下にアプリがリストされています。そして、あなたのAPIキーは内部に与えられます。
値をコピーし、settings.csのApikey変数の「giphyapikey」文字列値を置き換えます。
注意
アプリの秘密とAPIのキー値を、現在存在する設定クラスの変更を単にコミットすることで、ソースコントロールにコミットすることは安全ではありません。上記の手順を使用して、アプリをiOSおよびAndroidシミュレータでローカルに実行するようにすることができます。しかし、秘密の値とAPIキーをソースコントロールにコミットしないようにし、各ビルドの前にそれらの値を動的に配置するアプリセンターを取得するために必要な手順について本に紹介します。