Flutter中使用connectivity实现网络检测
生活随笔
收集整理的這篇文章主要介紹了
Flutter中使用connectivity实现网络检测
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 安裝插件
配置?connectivity?插件。
dependencies:flutter:sdk: flutterflutter_localizations:sdk: flutterdate_format: ^1.0.6flutter_cupertino_date_picker: ^1.0.26+2 flutter_swiper: ^1.1.6fluttertoast: ^7.1.6http: ^0.12.2dio: ^3.0.10flutter_html: ^1.1.0flutter_inappwebview: ^4.0.0+4device_info: ^1.0.0amap_location: ^0.2.0image_picker: ^0.6.7+21video_player: ^1.0.1chewie: ^0.12.2# 網絡檢測connectivity: ^2.0.2在pubspec.yaml中配置保存后,在VS Code環境中會自動下載依賴包。
如果無法正常下載,執行?flutter pub get?。
2.?引入依賴
在需要用到的該插件的文件中引入插件包。
import 'package:connectivity/connectivity.dart';3. 使用插件
// 定義事件 var subscription; // 網絡提示 String _stateText;// 初始化狀態 @override void initState() {super.initState();// 官方代碼subscription = Connectivity().onConnectivityChanged.listen((ConnectivityResult result) {// WIFI網絡if(result==ConnectivityResult.wifi){setState(() {_stateText="當前為WIFI網絡";});// 移動網絡}else if(result==ConnectivityResult.mobile){setState(() {_stateText="當前為手機網絡";});// 沒有網絡}else{setState(() {_stateText="當前沒有網絡";});}}); }// 消毀組件 @override dispose() {super.dispose();// 消毀組件subscription.cancel(); }4. 完整實例
import 'package:flutter/material.dart'; import 'package:connectivity/connectivity.dart';class NetworkPage extends StatefulWidget {NetworkPage({Key key}) : super(key: key);@override_NetworkPageState createState() => _NetworkPageState(); } class _NetworkPageState extends State<NetworkPage> {// 定義事件var subscription;// 網絡提示String _stateText;// 初始化狀態@overridevoid initState() {super.initState();// 官方代碼subscription = Connectivity().onConnectivityChanged.listen((ConnectivityResult result) {// WIFI網絡if(result==ConnectivityResult.wifi){setState(() {_stateText="當前為WIFI網絡";});// 移動網絡}else if(result==ConnectivityResult.mobile){setState(() {_stateText="當前為手機網絡";});// 沒有網絡}else{setState(() {_stateText="當前沒有網絡";});}});}// 消毀組件@overridedispose() {super.dispose();// 消毀組件subscription.cancel();}@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title:Text("檢測網絡變化")),body:Center(child:Text("${_stateText}")));} }參考:
connectivity | Flutter Package
總結
以上是生活随笔為你收集整理的Flutter中使用connectivity实现网络检测的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: R Bayes
- 下一篇: 数据分析【实践】——教育行业指标体系搭建