Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Support
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
FuryLion Courses. Unity
FuryLion Courses. Unity
  • Project overview
    • Project overview
    • Details
    • Activity
  • Analytics
    • Value Stream Analytics
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Public Documentation
  • FuryLion Courses. UnityFuryLion Courses. Unity
  • Wiki
  • Прогноз погоды

Прогноз погоды

Last edited by Evgeniy Melnikov Mar 24, 2023
Page history
This is an old version of this page. You can view the most recent version or browse the history.

Требуется разработать консольное приложение, которое позволяет в удобном виде получить погоду для определенного города.

Требования к функционалу приложения:

  • возможность получить текущую погоду определенного города;
  • возможность получить прогноз погоды на 5 дней для определенного города;
  • выбор города из заранее заготовленного списка (enum) (5 городов);
  • возможность получить погоду для города, который отсутствует в enum (ввод с клавиатуры);
  • информацию о погоде требуется выводит в максимально красивом виде.

Реализация:

Для реализации требуется использовать Rest API сервиса OpenWheaterMap.
Для общения с сервисом требуется зарегистрироватся и получить API ключ.
Сервис возвращает информацию в JSON виде.

Требуется создать классы или структуры для данной схемы данных и десериализовать с помощью библиотеку Newtonsoft.Json.NET.

Для получения результата от сервиса требуется использовать асинхронный способ общения через делегаты.
Например:

public static void DownloadWeather(string cityName, Action<WeatherData> received) 
{
	// Получаем данные с сервиса...
	// Когда данные будут получены, вызываем делегат received?.Invoke(data)
	// ...
}

public static void DownloadForecast(string cityName, Action<WeatherData> received) 
{
	// Получаем данные с сервиса...
	// Когда данные будут получены, вызываем делегат received?.Invoke(data)
	// ...
}

Требования для выполнения задания:

  • обработать исключения (try..catch);
  • обработать коды состояний сервиса;
  • следовать соглашению о написании C# кода.
Clone repository
  • FuryLion UI System
  • Home
  • Project 3
  • SkyRoads
  • Unity Canvas Масштабируемый интерфейс
  • csharp interview task
  • match 3 with draw mechanic
  • project 4
  • zenject
  • Введение в язык программирования C#
  • Вращение камеры
  • Изучение основ скриптинга Unity
  • Подготовка к выполнению
  • Построение дома
  • Прогноз погоды
More Pages