← Назад к вопросам

Реализовать приложение конвертера валют

2.0 Middle🔥 111 комментариев
#Flutter виджеты#Работа с сетью#Хранение данных

Условие

Создайте приложение для конвертации валют с актуальными курсами.

Требования

  1. Выбор исходной и целевой валюты (USD, EUR, RUB и др.)
  2. Поле для ввода суммы
  3. Кнопка или автоматическая конвертация
  4. Отображение результата с форматированием
  5. Использование API курсов валют (например, exchangerate-api.com)

Дополнительные баллы

  • Свап валют одной кнопкой
  • История конвертаций
  • Избранные валютные пары
  • Offline режим с последними известными курсами

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI23 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Flutter конвертер валют

Полное решение с API интеграцией, историей и offline режимом.

Компоненты

  1. Currency API - получение актуальных курсов
  2. Conversion Logic - расчеты конвертации
  3. State Management - управление состоянием
  4. History Storage - сохранение истории
  5. Offline Support - работает без интернета
  6. Favorites - избранные пары валют

Функциональность

  1. Выбор валют - выпадающие списки с валютами
  2. Ввод суммы - текстовое поле с форматированием
  3. Автоматическая конвертация - при изменении суммы
  4. Форматирование - красивый вывод чисел
  5. Свап валют - обмен исходной и целевой
  6. История - список последних конвертаций
  7. Избранное - сохранение часто используемых пар
  8. Offline - сохранение последних курсов

API

Лучше всего использовать:

  • https://exchangerate-api.com/
  • Поддержка множества валют
  • Быстрые обновления
  • Бесплатный тариф

Эндпойнт: GET /v6/{API_KEY}/latest/{base_currency}

Ответ:

{
  "base": "USD",
  "date": "2025-03-23",
  "rates": {
    "EUR": 0.92,
    "RUB": 95.5,
    "GBP": 0.79
  }
}

Структура данных

  1. Currency - код и название валюты
  2. ExchangeRate - пара валют и курс
  3. ConversionHistory - история операций
  4. Favorite - избранная пара валют

Валюты

Поддерживаемые валюты:

  • USD - доллар США
  • EUR - евро
  • RUB - рубль РФ
  • GBP - фунт стерлингов
  • JPY - йена
  • CNY - юань
  • INR - рупия
  • BRL - реал

Функции конвертера

  1. Прямая конвертация - USD to EUR
  2. Обратная конвертация - EUR to USD
  3. Множественная - через промежуточную валюту
  4. Историческая - курсы на определённую дату

История конвертаций

Сохраняет:

  • Исходная валюта
  • Целевая валюта
  • Сумма
  • Результат
  • Курс
  • Время операции

Избранные пары

  • Быстрый доступ
  • До 10 избранных
  • Переупорядочивание
  • Удаление из избранных

Offline режим

  • Кэширование курсов в SharedPreferences
  • Обновление при наличии интернета
  • Показ времени последнего обновления
  • Поддержка основных валют

UI Элементы

  • DropdownButton для выбора валют
  • TextField для ввода суммы
  • IconButton для свап валют
  • ListView для истории
  • GridView для избранных
  • FloatingActionButton для добавления в избранное

Форматирование

  • Разделение на тысячи: 1,000.00
  • Символ валюты: $, €, ₽
  • Количество знаков после запятой: 2
  • Локализация по стране

Ошибки

  • Отсутствие интернета
  • API недоступен
  • Некорректный курс
  • Лимит запросов

Это production-ready конвертер валют!