Образец приложения в этом репозитории называется gogogiphy.
Gogogiphy - это примеры обучения, используемое с книгой «Изучить центр приложений Visual Studio с формами Xamarin». Вы можете либо разобраться в этом проекте, либо импортировать этот проект в Azure DevOps. Я покажу вам эти шаги в моей книге.
Поскольку я не буду управлять этим приложением или исправлять ошибки в будущем, пожалуйста, не отправляйте никаких запросов на привлечение.
Это приложение используется исключительно для тренировок и демонстрации. Он разработан в структуре форм Xamarin на стандарте .NET с использованием C#.
Вы найдете 2 разных версии приложения образца: запуск и отделка. Оба функциональны. Проект в папке Start имеет большинство рабочих функций, кроме тех функций, которые взаимодействуют с пакетами Nuget Center App. Эти функции остаются в виде пустых заглушек. Вы можете найти пустые заглушки в Visual Studio, найдя «Todo». Рабочие версии одних и тех же функций можно найти в папке отделки. В противном случае оба проекта идентичны.
Прежде всего, это приложение разработано с использованием FreshMVVM Framework. Если вы понимаете шаблон проектирования модели ViewModel, то вы понимаете возможную потребность в навигации страниц, использование BindingContext со страниц XAML, инъекции зависимостей и практики инверсии контроля. Я не буду вдаваться в подробности о каждой из этих концепций, но я использовал фреймворк FreshMVVM, потому что автор, Майкл Ридленд, проделал замечательную работу, создавая структуру MVVM, специально предназначенные для форм Xamarin, и позволил легко интегрировать в приложение форм Xamarin. Вы можете найти больше информации на его странице GitHub ниже.
https://github.com/rid00z/freshmvvm
Вы можете найти более полезную информацию о его руководстве быстрого начала из его блога ниже.
https://michaelridland.com/xamarin/freshmvvm-quick-start-guide/
Следующий большой инструментарий, который я использовал в приложении, - это Essentials Xamarin. Этот инструментарий дает разработчику питание для использования одного кроссплатформенного API, чтобы нажимать на кроссплатформенные определенные функции, такие как подключение, батарея, буфер обмена и т. Д. Вместо того, чтобы изучать каждый API отдельно для Android, iOS и Windows. Вы можете найти страницу Github для предметов первой необходимости Xamarin на сайте ниже. В этом примере я использую API подключения, MainThread и File System Helper. Если вы решите использовать мое приложение для примера в качестве базы для собственного приложения, и если вы придумываете больше идей, вы можете использовать кроссплатформенные API от Essentials Xamarin. Я призываю вас прочитать их страницу GitHub и документацию по ссылкам ниже.
https://github.com/xamarin/essentials https://docs.microsoft.com/en-us/xamarin/essentials/
Джеймс Монтемагно, который долгое время был главным голосом на сцене форм Ксамарина, является основным участником команды других участников открытых источников в Ксамарин. Если вы не знаете о нем много, вы всегда можете следовать его блогу ниже, потому что он публикует много актуальных статей, касающихся форм 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, интегрированный в основной проект, представляет собой пакет обертки .NET вокруг клиента SQLite. Вы можете найти больше информации по ссылкам ниже.
https://github.com/praeclarum/sqlite-net https://www.nuget.org/packages/sqlite-net-pcl https://www.sqlite.org/index.html
Наконец, последняя важная основа для изучения - это json.net. Если вы когда-либо разработали либо веб-сайт, либо проект веб-API или мобильное приложение, нотация объекта JavaScript (JSON) стала нашим полезной нагрузкой на выбор, потому что его легко использовать, легко читать и легко сериализовать или десюреализовать в .NET-объект. Если вы новичок в json.net, я призываю вас прочитать документацию на их веб -сайте ниже.
https://www.newtonsoft.com/json https://www.newtonsoft.com/json/help/
Следуйте этим простым шагам, чтобы получить значение секрета приложения для iOS.
Следуйте этим простым шагам, чтобы получить значение секрета App для Android.
Следуйте этим простым шагам, чтобы настроить свою учетную запись Giphy.
Перейдите на следующий веб -сайт, настройте разработчик Giphy Account и перейдите на свою панель инструментов.
https://developers.giphy.com
Установите новое приложение в вашей учетной записи. Вы найдете ваше приложение, указанное в разделе «Ваши приложения». И ваш ключ API дается внутри.
Скопируйте значение и замените строковое значение «Giphyapikey» в переменной Apikey в настройках.cs.
ОСТОРОЖНОСТЬ
Небезопасно совершать ваш App Secret и значения ключей вашего API в управление источником, просто совершая изменения в классе настроек, поскольку они в настоящее время существуют. Вы можете использовать шаги, описанные выше, чтобы приложение запустилось локально на ваших симуляторах iOS и Android. Но я покажу вам в книге о том, какие шаги необходимы, чтобы избежать совершения секретных значений и ключей API в управление источником и получить центр приложений для динамического замены этих значений перед каждой сборкой.