Flutter Console 鸿蒙使用指南

1. 插件介绍

flutter_console 是一个在 Flutter 端提供可视化控制台的组件,它可以将控制台窗口置于页面最顶层,方便开发者进行调试和日志输出。该插件支持折叠、拉伸、清除日志等功能,是开发过程中调试的好帮手。

主要功能特性:

  • 可视化控制台:在应用界面上显示实时日志
  • 灵活控制:支持折叠、拉伸、清除、关闭等操作
  • 实时日志:支持通过流的方式持续推送日志
  • 鸿蒙适配:已适配 OpenHarmony 平台,支持鸿蒙应用开发

2. 插件使用

2.1 包的引入

由于这是一个自定义修改版本的三方库,需要以 Git 形式引入。在项目的 pubspec.yaml 文件中添加以下依赖配置:

dependencies:
  flutter:
    sdk: flutter
  flutter_console:
    git:
      url: "https://gitcode.com/openharmony-sig/flutter_console.git"

配置完成后,执行以下命令获取依赖:

flutter pub get

2.2 API 的调用

2.2.1 基本使用流程
  1. 创建导航器 Key:用于获取 overlay 层
  2. 创建日志流:用于推送日志消息
  3. 显示控制台:将控制台浮窗显示在 overlay 层上
  4. 推送日志:通过日志流推送需要显示的日志
2.2.2 核心 API 介绍
ConsoleStream

日志流对象,用于推送日志消息:

方法名描述参数返回值
push推送日志消息Object? messagevoid
pause暂停日志流-void
resume恢复日志流-void
destroy销毁日志流-void
ConsoleOverlay

控制台浮窗管理对象,用于显示和控制控制台:

方法名描述参数返回值
show显示控制台浮窗OverlayState baseOverlay, ConsoleStream contentStream, double y = 200void
unfoldWidgetUpdate更新展开状态的浮窗组件-void
foldAction折叠控制台窗口-void
refresh刷新浮窗内容-void

2.3 使用示例

以下是一个完整的使用示例:

import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter_console/flutter_console.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  // 创建导航器Key,用于获取overlay层
  final navKey = GlobalKey<NavigatorState>();

  
  Widget build(BuildContext context) {
    return MaterialApp(
      navigatorKey: navKey,
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Flutter Console Demo'),
        ),
        body: Center(
          child: GestureDetector(
            onTap: showLog,
            child: Container(
              height: 50,
              width: 100,
              color: Colors.purple,
              child: Center(
                child: Text(
                  '显示日志',
                  style: TextStyle(color: Colors.white, fontSize: 18),
                ),
              ),
            ),
          ),
        ),
      ),
    );
  }

  void showLog() {
    // 创建日志流
    ConsoleStream logStream = ConsoleStream();

    // 显示控制台浮窗
    ConsoleOverlay().show(
      baseOverlay: navKey.currentState!.overlay!,
      contentStream: logStream,
      y: 300,
    );

    // 推送日志
    pushLog(logStream);
  }

  void pushLog(ConsoleStream cr) {
    // 推送当前时间戳作为日志
    cr.push('日志时间: ' + DateTime.now().millisecondsSinceEpoch.toString());

    // 每隔1秒推送一次日志
    Future.delayed(const Duration(milliseconds: 1000), () {
      pushLog(cr);
    });
  }
}

2.4 控制台功能说明

控制台窗口提供了以下功能按钮(从左至右):

  1. 折叠按钮:将整个控制台窗口折叠为一个小窗口,点击小窗口可以恢复大窗口
  2. 拉伸按钮:用于将控制台窗口进行上下拉伸,调整窗口大小
  3. 清除按钮:可以将当前所有日志清除
  4. 关闭按钮:将控制台窗口关闭
  5. 至底按钮:将控制台窗口滚动到最底部,查看最新日志

3. 约束与限制

3.1 兼容性

在以下版本中已测试通过:

  • Flutter: 3.7.12-ohos-1.0.6; SDK: 5.0.0(12); IDE: DevEco Studio: 5.0.13.200; ROM: 5.1.0.120 SP3;
  • Flutter: 3.22.1-ohos-1.0.1; SDK: 5.0.0(12); IDE: DevEco Studio: 5.0.13.200; ROM: 5.1.0.120 SP3;

4. 总结

flutter_console 是一个实用的 Flutter 调试工具,它提供了可视化的控制台窗口,方便开发者在应用运行过程中查看日志和进行调试。该插件已经适配了 OpenHarmony 平台,开发者可以通过 Git 方式轻松引入并使用。

使用 flutter_console 可以提高开发效率,特别是在没有连接调试器的情况下,也能方便地查看应用运行日志。控制台提供的折叠、拉伸、清除等功能,使日志查看更加灵活和高效。

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.youkuaiyun.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值