Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- GIT
- google search console
- uni_links
- dynamic color
- inheritedWidget
- Device
- vscdoe
- 개역개정
- annotation
- handlebars.js
- flutter
- 소스제공
- git설치
- 미색인
- velocity_x
- widgetsBindingObserver
- dart
- extention
- 워드파일
- zani
- Flask
- 성경필사
- ipykernel
- cache
- receive_sharing_intent
- Jupyter Notebook
- 생명주기
- Share
- python
- Anaconda
Archives
- Today
- Total
자니노트
flutter WidgetsBindingObserver 설명 및 사용법 - 앱 생명주기 이벤트 처리 본문
모바일 개발/Dart&Flutter
flutter WidgetsBindingObserver 설명 및 사용법 - 앱 생명주기 이벤트 처리
zaninote 2023. 8. 22. 15:15WidgetsBindingObserver는 Flutter에서 앱 생명주기 이벤트를 감지하기 위한 인터페이스입니다. 이를 사용하면 앱이 백그라운드로 이동하거나 포그라운드로 돌아올 때, 화면 크기가 변경될 때 등의 이벤트를 감지하고 적절한 동작을 수행할 수 있습니다.
주요 메서드:
- didChangeAppLifecycleState: 앱의 생명주기 상태가 변경될 때 호출됩니다. 예를 들어, 앱이 백그라운드로 이동하거나 포그라운드로 돌아올 때 이 메서드가 호출됩니다.
- didChangeMetrics: 화면의 크기나 방향, 텍스트 크기 등이 변경될 때 호출됩니다.
- didChangePlatformBrightness: 플랫폼의 밝기 모드 (예: 다크 모드)가 변경될 때 호출됩니다.
사용 방법:
- WidgetsBindingObserver를 구현하는 클래스를 생성합니다.
- 필요한 메서드를 오버라이드합니다.
- WidgetsBinding.instance.addObserver를 사용하여 옵저버를 추가합니다.
- WidgetsBinding.instance.removeObserver를 사용하여 옵저버를 제거합니다.
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
}
@override
void dispose() {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
super.didChangeAppLifecycleState(state);
print('AppLifecycleState: $state');
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(child: Text('WidgetsBindingObserver Example')),
),
);
}
}
위의 예제에서는 WidgetsBindingObserver를 사용하여 앱의 생명주기 상태 변경을 감지하고 콘솔에 출력합니다.
이와 같은 방법으로 다른 메서드도 오버라이드하여 다양한 이벤트를 감지하고 처리할 수 있습니다.
'모바일 개발 > Dart&Flutter' 카테고리의 다른 글
Flutter Hive 설명 및 사용방법 - App에서 Data 저장할 수 있는 기능 (0) | 2023.08.24 |
---|---|
Dart extension 설명 및 사용법 - 클래스에 새로운 기능을 추가 (0) | 2023.08.23 |
Flutter velocity_x 설명 및 사용법 (0) | 2023.08.22 |
Flutter InheritedWidget 라이브러리 설명 및 사용 방법 (0) | 2023.08.22 |
Flutter dynamic_color 라이브러리 설명 및 사용법 (0) | 2023.08.22 |
Comments