Исправляем артефакты на экране запуска в Android

Пробуем новый формат видео: в серии How To Fix It мы будем делиться решением проблем, с которыми сталкиваемся в процессе разработки.

Сегодня расскажем как исправить черные прямоугольнике на экране запуска в Android. Подписывайтесь на наш канал, чтобы не пропустить новые видео!

Разработка Flutter — плагина под Android

Доброго времени суток! Flutter, имеет большое коммьюнити, огромное множество пакетов и плагинов, но всего не предусмотришь и, рано или поздно, разработчик сталкивается с задачей написания своего плагина, и сегодня рассмотрим как это сделать. Для примера возьмем несложный, но включающий многие аспекты разработки, плагин шаринга из приложения.
Читать →

Работа в фоне: iOS, Android, Flutter

Рано или поздно перед каждым мобильным разработчиком встает задача выполнить некоторую работу в фоне. Это может быть периодическая предварительная загрузка свежих материалов с сервера, синхронизация данных,  оптимизация работы локальной базы данных, необходимость завершить работу, начатую пользователем, взаимодействие с внешними аксессуарами, отслеживание геопозиции и многое другое. Как говорится, была бы возможность, а уж как ей воспользоваться, придумать не проблема. Если говорить о работе в фоне на десктоп платформах, то очевидно, что никаких проблем с этим там нет, разве что глаза разбегаются от разных возможностей реализации: начиная с запуска процесса в безоконном режиме, заканчивая реализацией служб или даже, при острой необходимости, драйверов. Одним словом, раздолье. В то же время мобильные платформы не могут похвастаться таким разнообразием. Оно и понятно: мобильность накладывает жесткое ограничение (емкость современных батарей, при учете прожорливости ОС и остального софта, оставляет желать лучшего).

Давайте рассмотрим основные возможности, которые нам предоставляют мобильные платформы в плане работы в фоне.

Читать →

Вы все еще эмулируете? Тогда мы идём к вам…

Скорость (да и качество) разработки прямо пропорциональна отзывчивости  и плавности системы, на которой эта самая разработка и ведется. Большинство мобильных разработчиков ежедневно на протяжении всего рабочего времени использует эмуляторы мобильных операционных систем. С одной стороны, эмуляторы позволяют значительно сократить  время в том плане, что при использовании эмулятора экономия происходит за счет ненужности заливки разрабатываемого приложения на реальное устройство, последующей его установки и запуска. А с другой стороны, эти же эмуляторы пожирают системные ресурсы, да порой так яростно, что о продуктивной работе речь вообще не идет. Самое время поговорить о том, можно ли что-то улучшить в подобной ситуации или нет. Если вы тоже задавались подобным вопросом, то добро пожаловать под кат.

Читать →

Вход через VK.com во Flutter приложении

В этой статье я попытаюсь дать подробные инструкции по подключению авторизации через ВКонтакте в ваше Flutter приложение.

Вход осуществляется с помощью VK SDK. Для добавления SDK в приложение будем использовать плагин flutter_login_vk с pub.dev. Плагин поддерживает iOS и Android.

Итак, начнем. Установите последнюю версию плагина для логина через VK, как указано на вкладке «Installing». Теперь можно двигаться дальше, для начала нам нужно создать приложение на VK.com.

Читать →

Локализация Dart пакетов

При разработке пакета может возникнуть потребность добавить локализацию. Если вы используете для локализации пакет Intl, то вас ждёт неприятный сюрприз.

Проблема

Для того, чтобы реализовать Intl локализацию стандартным образом вы должны:

  • создать класс, содержащий строки для локализации, получаемые через Intl.message();
  • сгенерировать arb файлы на основе этого класса;
  • выполнить перевод и разместить arb файл для каждого языка;
  • сгенерировать код ( messages_*.dart файлы) на основе arb файлов;
  • объявить делегат локализации (который будет зарегистрирован в приложении) и реализовать функцию загрузки, которая выполнит initializeMessages()  из сгенерированного кода и вернёт экземпляр класса реализации.

Этот способ отлично работает в приложении, но имеет одно существенное ограничение: правильно обработан будет только первый вызов initializeMessages(). Все последующие вызовы не добавят строк в локализацию, если для указанной локали уже есть записи.

Читать →

#4 Советы Flutter + Dart

Перевод статьи #4 Flutter + Dart Tips.

Это статья #4 в серии переводов Советы Flutter + Dart. Если вы пропустили предыдущие статьи, то вы сможете найти их по ссылкам:

11. Использование множественного числа в ваших Dart строках

В разных языках действуют разные правила грамматики для количеств. В английском, например, количество 1 — особый случай. Пишется «1 book», а для любого другого количества будет «n books». Это отличие между единственным и множественным достаточно общее, но другие языки имеют более тонкие различия.

Вы можете использовать множественное число в Dart строках, используя пакет Intl. Полный набор, поддерживаемый этим пакетом: ноль, один, два, несколько, много и другие.

  • Добавляем зависимость:
  • Как использовать:
  • Вывод:

Читать →

#3 Советы Flutter + Dart

Перевод статьи #3 Flutter + Dart Tips.

На нашем блоге публикуется перевод серии статей с очень помогающими нам при работе во Flutter и с Dart советами, которыми делится Flutter коммьюнити и сам автор,

Это статья #3 в данной серии, если вы пропустили предыдущие статьи, то вы сможете найти их по ссылкам:

7. Хотите использовать отдельную Theme для конкретного виджета?

Просто оберните этот виджет в виджет  Theme и передайте ThemeData(). Совет от Sahil Kumar.

Читать →

#2 Советы Flutter + Dart

Перевод статьи #2 Flutter + Dart Tips.

Вторая часть из серии советов по Flutter и Dart.

Вот первая часть советов, если вы ее пропустили: #1 Советы Flutter + Dart.

Сегодня новая порция советов, частью — от автора, но также было получено много хороших советов от коммьюнити.

Ниже вторая часть советов:

4. Используйте стили из тем в виджете  Text

Если вы Android разработчик, вы должны были использовать  android:textAppearance  в ваших TextView и использовали  @style/TextAppearance.AppCompat.Body1 и так далее.

Для тех, кому это ничего не говорит: речь идет о заранее настроенном стиле, который позволяет вам стилизовать ваш Text в терминах Material гайдлайна как Title, Body, Caption и т.д.

Итак, как вам реализовать это во Flutter Text виджете?

Это просто, как и все во Flutter. 😃

Вам просто нужно передать свой стиль textTheme используя  Theme.of(context).textTheme.

Ниже пример кода.

Читать →

#1 Советы Flutter + Dart

Перевод статьи #1 Flutter + Dart Tips.

В каждом языке программирования или фреймворке всегда существуют некоторые небольшие особенности, сильно облегчающие работу с ним.

Это статья посвящена советам по использованию Dart и Flutter, и является частью цикла статей, целью которых является изложение всех советов по Flutter и Dart, которые открыл для себя автор. Все советы также можно найти на репозитории «FlutterDartTips» на Github.

Ниже первая часть советов:

1. Использование null-aware операторов

Когда требуется проверить на null значения в Dart — используйте null-aware  операторы, чтобы уменьшить количество кода, требующегося, чтобы работать с ссылками, которые потенциально могу быть null .

Читать →