[flutter] 플러터에서 useNetworkInfo 훅(hook)을 활용한 네트워크 상태 확인
네트워크 상태를 확인하는 기능은 모바일 애플리케이션 개발에서 매우 중요합니다. Flutter에서는 useNetworkInfo
라는 custom 훅을 활용하여 간편하게 네트워크 상태를 확인할 수 있습니다. 이 튜토리얼에서는 플러터 앱에서 useNetworkInfo
훅을 활용하여 네트워크 상태를 확인하는 방법에 대해 알아보겠습니다.
useNetworkInfo 훅(Hook) 만들기
먼저, 아래와 같이 useNetworkInfo
훅을 만들어보겠습니다.
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:connectivity/connectivity.dart';
NetworkInfo useNetworkInfo() {
var connection = useValueNotifier<ConnectivityResult>(ConnectivityResult.none);
useEffect(() {
var connectivity = Connectivity();
var subscription = connectivity.onConnectivityChanged.listen((result) {
connection.value = result;
});
return subscription.cancel;
}, []);
return NetworkInfo(connection);
}
class NetworkInfo {
final ValueNotifier<ConnectivityResult> connection;
NetworkInfo(this.connection);
}
위 코드에서 useNetworkInfo
훅은 현재 네트워크 상태를 감지하고, 변경 시 알림을 받을 수 있는 기능을 제공합니다.
useNetworkInfo 훅(Hook) 활용하기
이제 만들어진 useNetworkInfo
훅을 사용하여 네트워크 상태를 확인해보겠습니다.
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
var networkInfo = useNetworkInfo();
return MaterialApp(
home: Scaffold(
body: Center(
child: Text(networkInfo.connection.value.toString()),
),
),
);
}
}
위 코드에서 useNetworkInfo
훅을 활용하여 현재 네트워크 상태를 Text
위젯을 통해 화면에 출력하고 있습니다.
결론
이제, useNetworkInfo
훅을 활용하여 간단하게 Flutter 애플리케이션 내에서 네트워크 상태를 확인할 수 있는 방법에 대해 알아보았습니다. 이를 통해 앱이 온라인 또는 오프라인 상태일 때 사용자 경험을 개선하거나, 네트워크 요청을 보내기 전에 네트워크 상태를 확인할 수 있게 됩니다.
더 많은 정보는 Flutter Hooks 라이브러리를 확인해보시기 바랍니다.