connectivity_bloc 0.0.3 copy "connectivity_bloc: ^0.0.3" to clipboard
connectivity_bloc: ^0.0.3 copied to clipboard

A new flutter package that allows to continuously check the connection state in an application. Supportes IOS and Android

Connectivity Bloc #

Connectivity Bloc allows to continuously check the connection state in an application.

Installation #

  1. Add the latest version of package to your pubspec.yaml (and run dart pub get connectivity_bloc):
dependencies:
    connectivity_bloc: ^0.0.1
  1. Import the package and use it in your Flutter App.
import 'package:connectivity_bloc/connectivity_bloc.dart';

Usage #

  1. Install flutter_bloc dependency with this command flutter pub add flutter_bloc

  2. Create and provide the bloc to your widget using BlocProvider

I suggest to provide it from the main child then all his children will access to the bloc object

import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:connectivity_bloc/connectivity_bloc.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return BlocProvider(
        create: (context) => ConnectivityBloc(),
        child: MaterialApp(
          title: 'Connectivity Bloc Demo',
          theme: ThemeData(
            primarySwatch: Colors.blue,
          ),
          home: const MyHomePage(title: 'Connectivity Bloc Demo'),
        )
    );
  }
}
  1. Using BlocBuilder to rebuild your widget when the states change.


class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  @override
  Widget build(BuildContext context) {
    return BlocBuilder<ConnectivityBloc, ConnectivityState>(
        builder: (context, state) => Scaffold(
          appBar: AppBar(
            title: Text(widget.title),
          ),
          backgroundColor: Colors.white,
          body: Center(
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                Text(
                  (state is ConnectivityFailureState) ? 'No internet connexion' : 'Internet connexion is ok',
                  style: TextStyle(
                      color: (state is ConnectivityFailureState) ? Colors.red : Colors.green
                  ),
                ),
              ],
            ),
          ),
        )
    );
  }
}

Here are the different stats that can occur:

  • ConnectivityInitialState : this is the initial state
  • ConnectivitySuccessState : this is the state when the connexion is ok
  • ConnectivityFailureState : this is the state when there is no connexion
5
likes
120
pub points
72%
popularity

Publisher

unverified uploader

A new flutter package that allows to continuously check the connection state in an application. Supportes IOS and Android

Repository (GitHub)
View/report issues
Contributing

Documentation

API reference

License

BSD-3-Clause (LICENSE)

Dependencies

connectivity_plus, flutter, flutter_bloc

More

Packages that depend on connectivity_bloc