Команды оболочки во флаттере - PullRequest
1 голос
/ 30 апреля 2020

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

Я уже могу выполнять некоторые простые команды, такие как ls -l, и он хорошо показывает свои результаты в консоли.

Однако мне нужен способ показать результаты в основном приложении, а не в консоли, я пробовал снэк-бар, но он не так хорош, и он не получает вывод от других команд, которые дают динамику c выходы.

Я хотел бы посмотреть динамические c выходы, такие как tail -f и top.

Как я могу открыть новое окно в приложении флаттера, чтобы показать выполнение команды?

На данный момент у меня есть это:

class LsButton extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Center(
      child: RaisedButton(
          onPressed: () {
            Process.run('ls', ['-l']).then((ProcessResult results) {
              Flushbar(
                title: "Output",
                message: results.stdout,
                duration:  Duration(seconds: 15),
              )..show(context);
            });
          },
          child: Text('Show dir contents!',
          style: TextStyle(
            fontSize: 10,
          ),)
      ),
    );
  }}

1 Ответ

0 голосов
/ 08 мая 2020

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

...