[flutter] 플러터에서 useTimer 훅(hook)을 사용한 타이머 기능 구현
플러터(Flutter) 앱에서 타이머(timer) 기능을 구현하려면, useTimer 훅(hook)을 사용할 수 있습니다. useTimer 훅은 기본적으로 지정된 시간 간격으로 동작하는 타이머를 쉽게 만들 수 있게 해줍니다. 이 글에서는 useTimer 훅을 사용하여 간단한 타이머 기능을 구현하는 방법에 대해 알아보겠습니다.
1. useTimer 훅 설치
먼저, 플러터 프로젝트에서 useTimer 훅을 사용하기 위해 flutter_hooks
패키지를 설치해야 합니다. pubspec.yaml
파일에 다음과 같이 패키지를 추가합니다:
dependencies:
flutter_hooks: ^0.18.0
그런 다음, 패키지를 설치합니다:
flutter pub get
2. useTimer 훅 사용
사용할 화면의 파일에서 다음과 같이 useTimer 훅을 import 합니다:
import 'package:flutter_hooks/flutter_hooks.dart';
그리고 다음과 같이 useTimer 훅을 사용하여 타이머를 구현할 수 있습니다:
void myTimerFunction() {
useTimer(const Duration(seconds: 1), (timer) {
// 매 초마다 실행되는 로직
});
}
위 코드에서 const Duration(seconds: 1)
은 1초 간격으로 타이머가 실행되도록 설정하고, timer
콜백 함수 내에서 매 초마다 실행되는 로직을 작성할 수 있습니다.
3. 타이머 사용 예제
아래는 타이머를 사용하여 화면에 초 카운트를 표시하는 예제 코드입니다:
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
void main() {
runApp(MyApp());
}
class MyApp extends HookWidget {
@override
Widget build(BuildContext context) {
final seconds = useState(0);
useTimer(const Duration(seconds: 1), (_) {
seconds.value++;
});
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Timer Example'),
),
body: Center(
child: Text(
'Seconds: ${seconds.value}',
style: TextStyle(fontSize: 24),
),
),
),
);
}
}
위 코드에서 useTimer
훅을 사용하여 1초 간격으로 seconds
값을 증가시키고, 화면에 초 카운트를 표시합니다.
이제 당신도 useTimer 훅을 활용하여 간단한 타이머 기능을 쉽게 구현할 수 있게 되었습니다!