Рубрики
Flutter

Dart DevTools. Как отключить в Visual Studio Code

Отключение Dart DevTools

Иногда начинает сильно раздражать предустановленная опция включения Dart DevTools во Flutter VSCode. Этой опцией как правило не пользуются новички, она не нужна и при большинстве ежеминутных тестирований созданного приложения. Часто спрашивают как отключить данную функцию

На самом деле отключение займет у вас ровно 5 секунд. Откройте в Visual Studio Code вкладку Extensions (быстрые клавиши Ctrl+Shift+x) и найдите среди установленных расширений Dart (можете ввести в поиске dart). После этого кликните правой мышкой на расширении и выберите Extension Settings. Справа найдите опцию Open Dev Tools и в выпадающим списке выберите — never. После этого перезагрузите VSCode

Всё, больше данная опция мешать вам не будет. Удачи!

Рубрики
Flutter

ThemeData во Flutter

Класс ThemeData во Flutter определяет конфигурацию общей отображаемой темы для MaterialApp или для дерева виджетов в приложении. Данное свойство MaterialApp можно использовать для настройки внешнего вида всего приложения. Если вы хотите в одном из виджетов (экранов приложения) изменить цвет или иное, то вам достаточно переопределить в верхней части поддерева Theme.

Т.е. иными словами, если у вас всегда будет применяться зеленый цвет во всех AppBar экранов в приложении, то вы можете всего лишь один раз задать в primaryColor: Colors.green и всегда у вас по умолчанию будет отображаться зеленый цвет. Это очень удобно, когда вы вдруг решили изменить цвет всех AppBar-ов, и вам не надо менять в каждом экране, достаточно просто его изменить в ThemeData после MaterialApp

Пример использования:

MaterialApp(
  theme: ThemeData(
    primaryColor: Colors.green,
    accentColor: Colors.white,
    textTheme: TextTheme(bodyText2: TextStyle(color: Colors.black)),
  ),
  home: Scaffold(
    appBar: AppBar(
      title: const Text('ThemeData демонстрация'),
    ),
    floatingActionButton: FloatingActionButton(
      child: const Icon(Icons.add),
      onPressed: () {},
    ),
    body: Center(
      child: Text(
        'Кнопка была нажата 0 раз',
      ),
    ),
  ),
)
Рубрики
Flutter

Background Сolor или цвет фона во Flutter

Очень частый вопрос у новичков, как изменить фон у приложения Flutter. Самый простой путь, это указать в свойствах background виджета Scaffold необходимый фон.

//Обязательная строка для всех приложений
import 'package:flutter/material.dart';

void main() => runApp(new MyApp());

// Основной экран
class MyApp extends StatelessWidget {
  @override
    Widget build(BuildContext context) {

      return new MaterialApp(
        title: 'Меняем цвет фона в приложении',
        home: new Scaffold(
        //Сейчас мы установим цвет фона - красный
          backgroundColor: Colors.red,
        ),
      );
    }
}

Еще один вариант, который удобно использовать. Если вы вдруг решите изменить цвет фона на всех экранах. Это использование ThemeData в свойствах виджета MaterialApp

 MaterialApp(
      title: 'Установка цвета фона в начале кода',
      theme: ThemeData(scaffoldBackgroundColor: const Colors.green),
      home: MyFirstPage(title: 'Установлен цвет фона - зеленый'),
    );

Background color контейнера

Есть и более специфические способы, но они тоже иногда имеют место быть: данным кодом мы устанавливаем background контейнера на желтый

Рубрики
Flutter

Flutter http заголовки

Обычно я в проектах использую стандартную библиотеку http: ^0.12.2. Но недавно я столкнулся с ошибкой при отправке запроса, а точнее заголовка на сервер при использовании во Flutter http запросов.

Проблема заключается в том, что некоторые старые серверы чувствительны к регистру заголовка, например, им передаешь заголовок «Authorization», а пакет преобразует его в «authorization», что вызывает ошибку авторизации на сервере.

Так оказалось и в моем случае, при подключении к API Zadarma.com, их сервер оказался чувствительным в этом плане и ждет точное совпадение регистра.

Ответ сервера в этом случае отрицательный: {«status»:»Not authorized»}.

Для того, чтобы избежать подобной ошибки в заголовке, используйте стандартный класс HttpClient():

HttpClient httpClient = new HttpClient();

Рубрики
Flutter

Flutter API. Часть 1

Регистрация на beget.ru собственного VPS сервера. За 11 рублей в сутки.

Создавая приложения на Flutter на языке Dart, вы рано или поздно захотите сделать свой небольшой сервер, для своих собственных запросов API. В чем плюсы: не надо пользоваться никакими там сторонними сервисами, всегда можете оперативно внести изменения, увеличить заказчику стоимость за созданный, готовый API (шутка, а может и нет).

Из минусов, пожалуй, только то, что потратите на обучение сутки (в принципе, если следовать инструкции, можно все развернуть за 2-3 часа времени)