В данном репозитории расположены различные материалы для пошагового создания с нуля простого приложения City Map для платформы UWP на языке программирования C#.
City Map - мобильное приложение для просмотра базовой информации о различных городах.
- Постраничная навигация
- Загрузка данных из сети
- Оффлайн доступ к данным
- Отображение городов на мировой карте
Если вас когда-либо интересовала нативная разработка для мобильных устройств на платформе Windows 10 и Вы хотели бы попробовать себя в этом, то вы можете попробовать начать изучение, используя материалы из данного репозитория.
Для того, чтобы начать изучать нативную мобильную разработку под UWP, Вам понадобится:
- Базовые знания английского языка (для чтения материалов);
- Базовое понимание платформы UWP
- Базовые знания языка программирования С#;
- Среда разработки Visual Studio IDE (Community 2017 или выше) с установленным пакетом SDK для Windows 10;
- Базовые навыки работы с Git (для работы с материалами данного репозитория);
Мы предлагаем Вам познакомиться с нативной разработкой под платформу UWP путем последовательного выполнения заданий по созданию приложения CityMap.
В рамках данного задания требуется создать новый проект с одним экраном. При необходимости добавить к нему Splash screen, иконки и задать цветовую схему приложения.
Полезные материалы:
Результат, который должен получиться: GitHub | Zip
Данное задание требует создать список элементов (не более 10) с открытием экрана с детальным описанием после нажатия на конкретным элемент списка.
Каждый элемент списка это объект класса (структуры) с некоторым набором атрибутов и методов. Объекты класса как и сам список создаются программно в рамках приложения.
Объект класса (структуры) должен содержать такие поля как Name
и Description
.
Полезные материалы:
Результат, который должен получиться: GitHub | Zip
В рамках данного задания требуется провести модификацию приложения полученного в Часть 1 (Part 1) - заменить заданные вручную данные на полученные из сети в формате JSON.
Приложение должно проверять наличие интернет соединения и сообщать о его отсутствии при попытке сделать запрос в сеть для загрузки данных.
Ресурс для получения данных: https://api.myjson.com/bins/7ybe5
Полезные материалы:
- Диспетчер пакетов NuGet
- Асинхронное программирование с использованием ключевых слов Async и Await
- Отправка и получение данных по протоколам HTTP2.0 и HTTP1.1
- Работа с grid view
- Работа с картинками
Результат, который должен получиться: GitHub | Zip
В рамках данного задания требуется организовать работу с базой данных. Полученные данные в рамках Часть 2 (Part 2) должны сохраняться в кэш (SQLite, файл, др.), а после, в ситуации с отсутствие интернет-соединения/ошибкой при загрузке данных из сети, доставаться из нее и отображаться пользователю (можно использовать сторонние библиотеки).
Результат, который должен получиться: GitHub | Zip
Полезные материалы:
В рамках данного задания требуется добавить отдельную страницу с картой, на которой будут отображены метки городов полученных из JSON координат.
Полезные материалы:
Результат, который должен получиться: GitHub | Zip
Финальный результат доступен в master ветке и в качестве Zip-архива.
Если у Вас возникли какие-то вопросы или предложения, как улучшить материал - дайте нам знать. 🏆 👍
Дополнительно Вы можете ознакомиться с реализацией данного приложения для других платформ, а также найти кроссплатформенное решение:
Есть идеи по развитию или просто хотите исправить ошибку? Вы можете написать нам!