
İlk olarak uygulamamıza gerekli paketlerin eklenmesiyle başlıyoruz, altta vereceğim paketleri uygulamamıza ekliyoruz.
paketlerimizi ekledikten sonra internet bağlantısını kontrol ettiğimiz servisimizi aşağıdaki gibi yazıyoruz.
import 'package:connectivity/connectivity.dart';
import 'package:flutter/material.dart';
class InternetConnectionCheckService extends ChangeNotifier {
ConnectivityResult _connectivityResult = ConnectivityResult.none;
ConnectivityResult get getConnectivity => _connectivityResult;
InternetConnectionCheckService(){Connectivity().onConnectivityChanged.listen((event){_connectivityResult = event;
notifyListeners();
});
}void initialLoad() async {
_connectivityResult = await Connectivity().checkConnectivity();
notifyListeners();
}}Ardından main.dart dosyamıza geçiş yapıyoruz ve MyApp içerisinde MaterialApp üzerine ChangeNotifierProvider ekliyoruz. Ardından create parametresini aşağıda olduğu gibi düzenliyoruz.
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context){return ChangeNotifierProvider(
create: (context){InternetConnectionCheckService internetConnectionCheckService =
InternetConnectionCheckService();
internetConnectionCheckService.initialLoad();
return internetConnectionCheckService;
},
child: MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),home: const HomePage(),),);
}}devamında internet bağlantısını kontrol edeceğimiz kısıma geçiyoruz ve Consumer içerisinde builder’da kontrolünü yapıyoruz. Consumer bize listener özelliği sağlıyor.
class HomePage extends StatelessWidget {
const HomePage({super.key});
@override
Widget build(BuildContext context){return Scaffold(
body: Consumer(
builder: (context,
InternetConnectionCheckService internetConnectionCheckService,
child){if (internetConnectionCheckService.getConnectivity ==
ConnectivityResult.none){return const Center(
child: Text('İnternet Bağlantısı Yok!'),);
}else {
return const Center(
child: Text('İnternet Bağlantısı Var!'),);
}},
),);
}}Uygulamayı yeniden başlattığınızda kontrolünüz yapılıyor olacaktır :)