Flutter 사용자 지정 오류 메시지 표시

오류 처리는 복잡한 프로세스입니다. 그것은 매우 지루하고 많은 시간이 걸립니다. 문제 중 하나는 Flutter 애플리케이션에서 사용자에게 오류를 표시하는 것입니다. 오늘 우리는 이것에 대해 이야기 할 것입니다.

모든 프로젝트는 사용자에게 예외 및 오류 정보를 표시하는 다양한 방법을 사용합니다.

때때로 응용 프로그램에 일반적인 스낵바가 표시되는 경우가 있습니다.


때로는 모달 대화 상자로 실현되었습니다.


가끔 배너화면으로 만들어요


그러나 나는 그것이 문제가 아니라고 생각합니다.
우리는 모두 멋진 개발자이며 응용 프로그램의 UI에서 무엇이든 만드는 방법을 알고 있습니다.

문제는 우리가 보여주고자 하는 메시지와 위치를 이해해야 하는 순간부터 시작됩니다. 그리고 가장 중요한 문제는 애플리케이션의 모든 서비스와 리포지토리에 대해 간단한 방법으로 처리하는 것입니다.

이를 위해 talker 라이브러리를 사용할 수 있습니다.
내가 보여준 응용 프로그램에 맞게 구성하는 방법

그러나 오늘 우리는 다른 것에 대해 이야기 할 것입니다.
한 번 표시되는 오류 메시지를 설정하고 애플리케이션에서 이 코드를 항상 복사하지 않는 간단한 방법이 필요합니다.

😎 이렇게 해보자...



1) pubspec.yaml에 talker_flutter 종속성 추가

talker_flutter: ^1.4.0


2) 애플리케이션에 대한 초기 화자

void main() {
  final talker = Talker(
    loggerSettings: TalkerLoggerSettings(
      enableColors: !Platform.isIOS,
    ),
  );
  runZonedGuarded(
    () => runApp(
      CustomErrorMessagesExample(talker: talker),
    ),
    (Object error, StackTrace stack) {
      talker.handle(error, stack, 'Uncaught app exception');
    },
  );
}


3) 응용 프로그램의 초기 경로 또는 오류 메시지를 표시하려는 화면에 래퍼를 구현해야 합니다.

@override
  Widget build(BuildContext context) {
    return Scaffold(
      body: TalkerWrapper(
        talker: talker,
        options: const TalkerWrapperOptions(
          enableErrorAlerts: true,
        ),
        child: const Center(child: Text('Your screen')),
      ),
    );
  }


project repository에서 전체 예제를 볼 수 있습니다.

그리고 BLoC를 상태 관리로 사용하는 적용 예talker_shop_app_example를 확인하고 화자별로 조정된 예외를 표시할 수 있습니다.



커스터마이징



그러나 모두가 서로 다른 위젯을 사용하여 오류를 표시하기를 원합니다.
그리고 이 점은 talker_flutter 라이브러리를 사용하여 해결할 수 있습니다.

스낵바를 사용자 지정하려면 TalkerWrapper 옵션을 사용할 수 있습니다.

class TalkerWrapperOptions {
  final String exceptionTitle;
  final String errorTitle;
  final TalkerExceptionBuilder? exceptionAlertBuilder;
  final TalkerErrorBuilder? errorAlertBuilder;
  final bool enableErrorAlerts;
  final bool enableExceptionAlerts;
}


  • 스낵바에서 사용자 정의 위젯을 빌드하려면 exceptionAlertBuilder 및 errorAlertBuilder를 사용하십시오.
  • 스낵바를 필터링하려면 enableErrorAlerts 및 enableExceptionAlerts를 사용하십시오.
  • 사용자 정의 스낵바 제목에 exceptionTitle 및 errorTitle을 사용하십시오.

  • 더 많은 사용자 정의



    그리고 Snackbars 이외의 다른 위젯을 표시하려면 TalkerWrapper 대신 TalkerListener를 사용할 수 있습니다.

    TalkerListener(
      talker: talker,
      listener: (data) {
        /// Show your error messages on modal dialogs, screens, etc
      },
      child: /// Your screen or app widget,
    );
    


    결론



    기사에서 내가 원하는 모든 것을 설명하기를 바랍니다.
    이 작은 게시물을 읽어 주셔서 감사합니다 🙏!

    GitHub에서 나와 연결하고 talker 패키지에 ✨star✨를 넣어주세요.
    응용 프로그램에서 사용하려고하면 매우 기쁩니다.

    좋은 웹페이지 즐겨찾기