Часто бывает ситуация, что необходимо во внешней обработке какие-то реквизиты позволять пользователю сохранять. Классический вариант — сохранять данные в пользовательских настройках, или придумывать иное место хранения. Но для этого нужны телодвижения со стороны программиста. С недавних пор (ну как с недавних, лет 5 уже 😉 ) , есть уже штатный способ, встроенный в платформу:
WordPress — система управления содержимым сайта (CMS) с открытым исходным кодом. Написана на PHP, в качестве базы данных использует MySQL. Сфера применения — от блогов до достаточно сложных новостных ресурсов и даже интернет-магазинов. Встроенная система «тем» и «плагинов» вместе с удачной архитектурой позволяет конструировать практически любые проекты. Одной из главных особенностей «Wordpress» является структура организации базы данных. Гибкость и функциональность […]
debugShowCheckedModeBanner:false,//убираем надпись debug
theme:ThemeData(
primarySwatch:Colors.blue,
),
);
}
}
,далее обычно начинают плясать именно от этого шаблона. Запускаем, смотрим…и ничего кроме квадратика с названием окна не видим. Ну собственно ничего более и нет.
Одной из «киллер фич» Flutter считается, что всё что визуально расположено на экране — это виджеты вложенные друг в друга. С «детьми» и «родителями». Принцип разметки примерно такой же как в HTML + CSS: кидаем в «стартовый» виджет другие виджеты различного вида , и добавляем к ним «украшения». В данном случае внутри стартового виджета ничего нет.
Второй «киллер фичей» флаттера является так называемый HotReload — при изменении кода программы, и последующем его изменении, запущеная ранее программа не закрывается, а «обновляется» на лету. Если конечно код не изменен «кардинально»
Добавляем файл-основной экран page1.dart:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import'package:flutter/material.dart';
classPage1extendsStatefulWidget{
_Page1State createState()=>_Page1State();// сюда передаем текущее состояние страницы
}
class_Page1StateextendsState<Page1>{// _ впереди класса, означает чтоб скрыть доступ из другх файлов
@override
Widget build(BuildContext context){
returnScaffold(// чаще всего используемый "корневой" виджет, который позволяет добавлять в себя другие: AppBar, BottomNavigationBar,Drawer, FloatingActionButton и т.п.