日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Flutter中使用connectivity实现网络检测

發布時間:2023/12/16 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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实现网络检测的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。