✈️ A tidy utility to handle offline/online connectivity like a Boss

Overview

✈️ Flutter Offline

Build Status - Travis codecov pub package

A tidy utility to handle offline/online connectivity like a Boss. It provides support for both iOS and Android platforms (offcourse).

🎖 Installing

dependencies:
  flutter_offline: "^2.0.0"

⚡️ Import

import 'package:flutter_offline/flutter_offline.dart';

Add Permission to Manifest

<uses-permission android:name="android.permission.INTERNET"/>

🎮 How To Use

import 'package:flutter/material.dart';
import 'package:flutter_offline/flutter_offline.dart';

class DemoPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text("Offline Demo"),
      ),
      body: OfflineBuilder(
        connectivityBuilder: (
          BuildContext context,
          ConnectivityResult connectivity,
          Widget child,
        ) {
          final bool connected = connectivity != ConnectivityResult.none;
          return new Stack(
            fit: StackFit.expand,
            children: [
              Positioned(
                height: 24.0,
                left: 0.0,
                right: 0.0,
                child: Container(
                  color: connected ? Color(0xFF00EE44) : Color(0xFFEE4400),
                  child: Center(
                    child: Text("${connected ? 'ONLINE' : 'OFFLINE'}"),
                  ),
                ),
              ),
              Center(
                child: new Text(
                  'Yay!',
                ),
              ),
            ],
          );
        },
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            new Text(
              'There are no bottons to push :)',
            ),
            new Text(
              'Just turn off your internet.',
            ),
          ],
        ),
      ),
    );
  }
}

For more info, please, refer to the main.dart in the example.

📷 Screenshots

🐛 Bugs/Requests

If you encounter any problems feel free to open an issue. If you feel the library is missing a feature, please raise a ticket on Github and I'll look into it. Pull request are also welcome.

❗️ Note

For help getting started with Flutter, view our online documentation.

For help on editing plugin code, view the documentation.

🤓 Mentions

Simon Lightfoot (@slightfoot) is just awesome 👍 .

⭐️ License

MIT License

Comments
  • PlatformException(error, NetworkCallback was not registered, null, null)

    PlatformException(error, NetworkCallback was not registered, null, null)

    I need flutter offline to check the status of the connection but I got the below mentioned error because of connectivity: ^0.4.5+3 dependencies.

    The following PlatformException was thrown while de-activating platform stream on channel plugins.flutter.io/connectivity_status:
    **PlatformException(error, NetworkCallback was not registered, null, null)**
    
    When the exception was thrown, this was the stack: 
    #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:582:7)
    #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:159:18)
    <asynchronous suspension>
    #2      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:332:12)
    #3      EventChannel.receiveBroadcastStream.<anonymous closure> (package:flutter/src/services/platform_channel.dart:552:29)
    ...
    
    opened by Sathi789888 6
  • Add a check if Internet is available

    Add a check if Internet is available

    OfflineBuilder can now check if internet is avaible by lookup google (or other host), if is not avaible the connection is sate to ConnectivityResult.none

    I have add two properties to OfflineBuilder

    bool checkHost; // allow perform a DNS request to check if internet is avaible, the default value false
    String hostToCheck; // Hostname to check, default value is google.com
    

    Usage

    import 'package:flutter/material.dart';
    import 'package:flutter_offline/flutter_offline.dart';
    
    class DemoPage extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return new Scaffold(
          appBar: new AppBar(
            title: new Text("Offline Demo"),
          ),
          body: OfflineBuilder(
            hostTocheck : "google.ca", // perform a DNS request to check if internet is avaible
            checkHost : true, // the default falue is false, 
            connectivityBuilder: (
              BuildContext context,
              ConnectivityResult connectivity,
              Widget child,
            ) {
              final bool connected = connectivity != ConnectivityResult.none;
              return new Stack(
                fit: StackFit.expand,
                children: [
                  Positioned(
                    height: 24.0,
                    left: 0.0,
                    right: 0.0,
                    child: Container(
                      color: connected ? Color(0xFF00EE44) : Color(0xFFEE4400),
                      child: Center(
                        child: Text("${connected ? 'ONLINE' : 'OFFLINE'}"),
                      ),
                    ),
                  ),
                  Center(
                    child: new Text(
                      'Yay!',
                    ),
                  ),
                ],
              );
            },
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                new Text(
                  'There are no bottons to push :)',
                ),
                new Text(
                  'Just turn off your internet.',
                ),
              ],
            ),
          ),
        );
      }
    }
    
    opened by badlee 5
  • Not working on iOS (Android runs perfectly)

    Not working on iOS (Android runs perfectly)

    I have the following code, which runs perfectly on Android. But on iOS it does not seem to react to the online/offline as on Android. I have redacted the URL's in the code:

    class HomePage extends StatefulWidget {
      _State createState() => _State();
    }
    
    class _State extends State<HomePage> {
      FlutterWebviewPlugin fwp;
      final String initialUrl = 'https://example.com/link/';
    
      @override
      void initState() {
        super.initState();
        fwp = FlutterWebviewPlugin();
        fwp.onStateChanged.listen(onStateChange);
      }
    
      @override
      void dispose() {
        fwp.dispose();
        super.dispose();
      }
    
      void onStateChange(WebViewStateChanged state) {
        List<String> doNotSave = <String>[
          initialUrl,
        ];
        var uri = Uri.parse(state.url);
        if (state.type == WebViewState.finishLoad && !doNotSave.contains(state.url) && (uri.queryParameters["link"] == "true")) {
          storage.setString('url', state.url);
          print("Saved!");
        }
      }
    
      Widget build(BuildContext context) {
        // Uncomment to reset URL
        // storage.setString('url', '');
        String savedUrl = storage.getString('url') ?? '';
        String urlToLoad = savedUrl != '' ? savedUrl : initialUrl;
    
    
        return new Scaffold(
          body: OfflineBuilder(
            connectivityBuilder: (
                BuildContext context,
                ConnectivityResult connectivity,
                Widget child,
                ) {
    
              final bool connected = connectivity != ConnectivityResult.none;
    
              if (connected == true) { // Show link-page or URL from database
                fwp.reloadUrl(urlToLoad);
              }
              else { // Offline 404
                fwp.reloadUrl(Uri.dataFromString('<html><body>404</body></html>', mimeType: 'text/html').toString());
              }
              // Loading dots
              return WebviewScaffold(
                url: Uri.dataFromString('<html><body>Loading...</body></html>', mimeType: 'text/html').toString(),
                withJavascript: true,
                useWideViewPort: false,
                withZoom: false,
                scrollBar: false
              );
    
            },
            child: Column(
            ),
          ),
        );
    
      }
    }
    

    As you probably can see the app is launched with the Loading... being shown, and if it is online it should show the urlToLoad and if it is online it shows a page with 404. And it should react if the connection status changes at any time. Why isn't this working on iOS? It only shows me the Loading... part, but nothing else.

    opened by jockebq 4
  • connectivity plugin - android build deprecation warning

    connectivity plugin - android build deprecation warning

    After adding the plugin to a new flutter application (Stable Channel, migrated to androidX) a deprecation warning is present when running a build (Android only).

    The warning presented:

    Note: /Users/dwulff/.pub-cache/hosted/pub.dartlang.org/connectivity-0.4.2/android/src/main/java/io/flutter/plugins/connectivity/ConnectivityPlugin.java uses or overrides a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    
    help wanted 
    opened by hey24sheep 4
  • App is crashing on connectivity

    App is crashing on connectivity

    I am using the version is 'flutter_offline: ^0.2.1' I have published my app in play store . In my play store console it showing crash report.

    java.lang.RuntimeException: at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0 (LoadedApk.java:1407) at android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA.run (Unknown Source:2) at android.os.Handler.handleCallback (Handler.java:873) at android.os.Handler.dispatchMessage (Handler.java:99) at android.os.Looper.loop (Looper.java:193) at android.app.ActivityThread.main (ActivityThread.java:6806) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:547) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:873) Caused by: java.lang.RuntimeException: at io.flutter.embedding.engine.FlutterJNI.ensureAttachedToNative (Unknown Source:9) at io.flutter.embedding.engine.FlutterJNI.dispatchPlatformMessage (Unknown Source) at io.flutter.embedding.engine.dart.DartMessenger.send (Unknown Source:33) at io.flutter.embedding.engine.dart.DartExecutor.send (Unknown Source:3) at io.flutter.view.FlutterNativeView.send (Unknown Source:2) at io.flutter.plugin.common.EventChannel$IncomingStreamRequestHandler$EventSinkImplementation.success (Unknown Source:49) at io.flutter.plugins.connectivity.ConnectivityPlugin$1.onReceive (Unknown Source:13) at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0 (LoadedApk.java:1397)

    It is happening in android 9 version.

    More than number of devices it crashing. Please solve the issue.

    opened by fazil-augr 3
  • A constructor invocation can't have type arguments on the constructor name.

    A constructor invocation can't have type arguments on the constructor name.

    Compiler message: flutter/.pub-cache/hosted/pub.dartlang.org/flutter_offline-0.2.1/lib/src/utils.dart:13:30: Error: A constructor invocation can't have type arguments on the constructor name. Try to place the type arguments on the class name. return StreamTransformer.fromHandlers<ConnectivityResult, ^^^^^^^^^^^^

    Doctor summary (to see all details, run flutter doctor -v):
    [✓] Flutter (Channel dev, v0.11.3, on Mac OS X 10.13.6 17G65, locale en-DE)
    [✓] Android toolchain - develop for Android devices (Android SDK 28.0.2)
    [✓] iOS toolchain - develop for iOS devices (Xcode 10.0)
    [✓] Android Studio (version 3.2)
    [!] VS Code (version 1.28.2)
    [✓] Connected device (1 available)
    
    opened by Abgaryan 3
  • Migrate from connectivity to connectivity_plus

    Migrate from connectivity to connectivity_plus

    The Flutter connectivity plugin has been deprecated.

    Per: https://pub.dev/packages/connectivity the Flutter team's recommendation is to migrate to the connectivity_plus plugin.

    This is an automated PR sent by LSCBot. LSCBot is a service that performs maintenance tasks across many repositories. To make sure you get all the maintenance help LSCBot has to offer - register your repository at lscbot.com.

    opened by lscbot 2
  • Problem on android(run perfectly fine in IOS)

    Problem on android(run perfectly fine in IOS)

    After I've implement your package, the IOS application works perfectly but on the android it always throwing Missing plugin Exception

    This is what happened on Screenshot_1586096896

    Device log

    I/flutter ( 5730): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
    I/flutter ( 5730): The following OfflineBuilderError was thrown building StreamBuilder<ConnectivityResult>(dirty,
    I/flutter ( 5730): state: _StreamBuilderBaseState<ConnectivityResult, AsyncSnapshot<ConnectivityResult>>#e2477):
    I/flutter ( 5730): MissingPluginException(No implementation found for method check on channel
    I/flutter ( 5730): plugins.flutter.io/connectivity)
    I/flutter ( 5730): 
    I/flutter ( 5730): The relevant error-causing widget was:
    I/flutter ( 5730):   StreamBuilder<ConnectivityResult>
    I/flutter ( 5730):   file:///Users/wichayut/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_offline-0.3.0/lib/src/main.dart:81:12
    I/flutter ( 5730): 
    I/flutter ( 5730): When the exception was thrown, this was the stack:
    I/flutter ( 5730): #0      OfflineBuilderState.build.<anonymous closure> (package:flutter_offline/src/main.dart:92:11)
    I/flutter ( 5730): #1      StreamBuilder.build (package:flutter/src/widgets/async.dart:509:81)
    I/flutter ( 5730): #2      _StreamBuilderBaseState.build (package:flutter/src/widgets/async.dart:127:48)
    I/flutter ( 5730): #3      StatefulElement.build (package:flutter/src/widgets/framework.dart:4619:28)
    I/flutter ( 5730): #4      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4502:15)
    I/flutter ( 5730): #5      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4675:11)
    I/flutter ( 5730): #6      Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5)
    I/flutter ( 5730): #7      BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2627:33)
    I/flutter ( 5730): #8      WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:864:20)
    I/flutter ( 5730): #9      RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:284:5)
    I/flutter ( 5730): #10     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1113:15)
    I/flutter ( 5730): #11     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1052:9)
    I/flutter ( 5730): #12     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:968:5)
    I/flutter ( 5730): #16     _invoke (dart:ui/hooks.dart:261:10)
    I/flutter ( 5730): #17     _drawFrame (dart:ui/hooks.dart:219:3)
    I/flutter ( 5730): (elided 3 frames from dart:async)
    I/flutter ( 5730): 
    I/flutter ( 5730): ════════════════════════════════════════════════════════════════════════════════════════════════════
    

    Main.dart

    home: OfflineBuilder(
                      connectivityBuilder: (
                        BuildContext context,
                        ConnectivityResult connectivity,
                        Widget child,
                      ) {
                        final bool connected =
                            connectivity != ConnectivityResult.none;
                        return Scaffold(
                            body: connected
                                ? Scaffold(
                                    body: authProvider.isLogin
                                        ? MainScreen()
                                        : FutureBuilder(
                                            future: authProvider.autoLogin(),
                                            builder: (context, snapshot) =>
                                                snapshot.connectionState ==
                                                        ConnectionState.waiting
                                                    ? LogoScreen()
                                                    : LoginScreen()))
                                : Center(child: new Text('No internet!')));
                      },
                      child: Center()),
    

    Flutter doctor

    Connected views:
    wichayut@Wichayuts-MacBook-Pro relifnow_frontend_v2 % flutter doctor -v
    [✓] Flutter (Channel master, v1.18.1-pre.9, on Mac OS X 10.15.4 19E266, locale en-TH)
        • Flutter version 1.18.1-pre.9 at /Users/wichayut/Development/flutter
        • Framework revision f9c58bea49 (10 hours ago), 2020-04-04 21:31:55 -0700
        • Engine revision cb6fc30534
        • Dart version 2.8.0 (build 2.8.0-dev.20.0 80ae6ed91d)
    
     
    [✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
        • Android SDK at /Users/wichayut/Library/Android/sdk
        • Platform android-29, build-tools 29.0.3
        • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
        • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
        • All Android licenses accepted.
    
    [✓] Xcode - develop for iOS and macOS (Xcode 11.4)
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • Xcode 11.4, Build version 11E146
        • CocoaPods version 1.9.1
    
    [✓] Android Studio (version 3.6)
        • Android Studio at /Applications/Android Studio.app/Contents
        • Flutter plugin version 45.0.1
        • Dart plugin version 192.7761
        • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
    
    [✓] VS Code (version 1.43.2)
        • VS Code at /Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.9.0
    
    [✓] Connected device (2 available)
        • sdk gphone x86 • emulator-5554                            • android-x86 • Android 10 (API 29) (emulator)
        • Dew’s iPhone   • 7a530c8cd5eff84a0e6e0ca0051aa8033e641cfe • ios         • iOS 13.4
    
    • No issues found!
    
    opened by wichayutdew 2
  • Add Duration for the connectivityBuilder

    Add Duration for the connectivityBuilder

    Great Package you made, and it made easy for determining if the user has connected. I have this kind of issue when I want to have a Duration for that Connectivity. I want to hide that widget once the connection is either online or offline in a matter of duration.

    opened by vinceramcesoliveros 2
  • [ How to use it on an

    [ How to use it on an "App level" ? ]

    Hi, This plugin is very cool but clearly it's a problem to wrap every single screen in an OfflineBuilder()... That's a lot of duplicated / boilerplate code for each one.

    Does someone managed to "extract" the code of the OfflineBuilder() to put it in the main.dart for example ?

    Thanks in advance

    opened by Gobmichet 1
  • Change connectivity to connectivity_plus dependency

    Change connectivity to connectivity_plus dependency

    I had the issue that a continous integration lane in one of my projects failed building the apk, because of a bug in the connectivity package that flutter_offline depends on. However the connectivity package has been replaced by connectivity_plus. The bug was fixed in that package.

    Since connectivity will be discontinued soon and connectivity_plus provides the same functionality but is more stable and up-to-date, flutter_offline should depend on connectivty_plus.

    I've changed the dependency and imports to that; otherwise everything still works exactly the same.

    opened by smofe 1
  • Add new listener builder widget

    Add new listener builder widget

    Problem statement

    Was wandering around this package. I saw there's just a widget builder widget rebuilding the widgets on change of the connectivity. I think it should have a widget that will just give me a listener, as I don't want to rebuild the widgets but do some action against the change.

    Eg.: I want to show the users an alert if they switch to mobile data to shift back to wifi (as for instance I am downloading big files or streaming high-quality content)

    Solution

    I've implemented a new widget like that of the builder, but with a listenerBuilder property to just listen to changes and not rebuild the widgets.

    Bonus

    I've also added in listenWhen to only listen to specific changes. For more details, refer to the new demo page in the example.

    Video Sample

    https://user-images.githubusercontent.com/47249618/183369736-c059dd38-c82e-42d1-b88c-f84b311251a1.mp4

    opened by iamsahilsonawane 0
  • [   +3 ms] Swift Compiler Error (Xcode): Cannot find type 'Reachability' in scope

    [ +3 ms] Swift Compiler Error (Xcode): Cannot find type 'Reachability' in scope

    [ +3 ms] Swift Compiler Error (Xcode): Cannot find type 'Reachability' in scope /Users/tebalink/development/flutter/.pub-cache/hosted/pub.dartlang.org/connectivity_plus-2.3.6/ios/Classes/ReachabilityConnectivityProvider.swift:3:29

    opened by s2yed 1
  • flutter_Offline Not Working in build

    flutter_Offline Not Working in build

    Hi, I used the flutter_offline package. I included this permission in AndroidManifest.Xml, located the main folder. In debug mode, flutter_offline is working fine. Whenever I build, it does not work for me. Do I miss something else?

    Thanks Sathiya R

    opened by SathiyaGirinathan 0
  • From `README.md`:

    From `README.md`: "It provides support for both iOS and Android platforms (offcourse)" - is still up-to-date?

    image

    This package uses the plus packages (which have support for all platforms) and the pub.dev page says that this package has support for all platforms. So is the sentence It provides support for both iOS and Android platforms (offcourse) still up-to-date? It confuses a bit because you think this package has only support for iOS and Android.

    Something better would be It provides support for all platforms (iOS, Android, Web, macOS, Linux und Windows).

    opened by nilsreichardt 0
  • Conflicts of library for Reachability in iOS

    Conflicts of library for Reachability in iOS

    The iOS application never opens. When I tried to archive it I am getting the following error

    Multiple commands produce '/Users/mdhasanrahman/Library/Developer/Xcode/DerivedData/Runner-fgzktmibyndpbgfkmsizqhgncvxe/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/Reachability.framework':
    
    Target 'Reachability' has create directory command with output '/Users/mdhasanrahman/Library/Developer/Xcode/DerivedData/Runner-fgzktmibyndpbgfkmsizqhgncvxe/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/Reachability.framework'
    Target 'ReachabilitySwift' has create directory command with output '/Users/mdhasanrahman/Library/Developer/Xcode/DerivedData/Runner-fgzktmibyndpbgfkmsizqhgncvxe/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/Reachability.framework'
    
    opened by sawan07 2
Releases(v2.1.0)
Owner
Jeremiah Ogbomo
Think. Code. Love.
Jeremiah Ogbomo
⚡ Cache Manager A tidy utility to handle cache of your flutter app like a Boss.

⚡ Cache Manager A tidy utility to handle cache of your flutter app like a Boss. It provides support for both iOS and Android platforms (offcourse). ??

Abhishek Chavhan 10 Oct 25, 2022
An online and offline music player

awesomemusic A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if

teamDrt 9 Oct 28, 2022
This is a university marketplace, where students buy and sell products and services online or offline. Mainly to connect the two parties together.

marktorder A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if th

Ibukunoluwa Naphtali 1 Jan 10, 2022
WhereIsMoney - A money expense tracker with online and offline capabilities

WhereIsMoney ?? A money expense tracker to help you know where your money is goi

Junior Medehou 4 Feb 6, 2022
An app for keeping your neighbourhood clean and tidy.

Tidy An eco friendly app, keeping your friendly neighbourhood clean. Made with ❤️ from London. Available on iOS and Android. Created as part of Google

Sameen 24 May 12, 2022
Intel Corporation 238 Dec 24, 2022
A Flutter plugin for handling Connectivity and REAL Connection state in the mobile, web and desktop platforms. Supports iOS, Android, Web, Windows, Linux and macOS.

cross_connectivity A Flutter plugin for handling Connectivity and REAL Connection state in the mobile, web and desktop platforms. Supports iOS, Androi

MarchDev Toolkit 29 Nov 15, 2022
A Flutter repo with a ready-to-go architecture containing flavors, bloc, device settings, json serialization and connectivity

Flutter Ready to Go A Flutter repo with a ready-to-go architecture containing flavors, bloc, device settings, json serialization and connectivity. Why

null 139 Nov 11, 2022
Like Button is a flutter library that allows you to create a button with animation effects similar to Twitter's heart when you like something and animation effects to increase like count.

like_button Language: English | 中文简体 Like Button is a flutter library that allows you to create a button with animation effects similar to Twitter's h

FlutterCandies 357 Dec 27, 2022
NETCoreSync is a database synchronization framework where each client's local offline database

NETCoreSync NETCoreSync is a database synchronization framework where each client's local offline database (on each client's multiple devices) can be

Aldy J 65 Oct 31, 2022
Plugin for 'flutter_map' providing advanced caching functionality, with ability to download map regions for offline use. Also includes useful prebuilt widgets.

flutter_map_tile_caching A plugin for the flutter_map library to provide an easy way to cache tiles and download map regions for offline use. Installa

Luka S 69 Jan 3, 2023
A phone app that works as an offline lnurl-based point-of-sale.

LNURL-based Offline PoS app APK download: https://github.com/fiatjaf/lnurlpos-app/releases demo.mp4 Compatible with https://github.com/lnbits/lnbits-l

fiatjaf 16 Nov 23, 2022
An offline library app of creeds, confessions and catechisms of the protestant reformed churches.

Sound Doctrine | | An iOS/Android app created in Flutter to provide local access to the tested creeds, confessions and articles of the historical prot

Jesse 6 Jul 9, 2022
Devtoolbox - Collection of offline utilities for developers

DevTools Online utilities for formatting, encoding/decoding etc are dangerous to

Nilesh 83 Aug 22, 2022
Flutter pos - A mobile POS written in Flutter, suitable for small cafe/restaurant, fully offline

Simple-POS A mobile POS written in Flutter, suitable for small cafe/restaurant,

Muhammed Basil E 7 Nov 2, 2022
Devtoolbox - Collection of offline utilities for developers

DevTools Online utilities for formatting, encoding/decoding etc are dangerous to

Polyglot Network 83 Aug 22, 2022
(Flutter)Minimal App With Offline Storage(Using HIVE) Functionality.

TaskZ (Minimal + Offline TODO List App) Minimal App With Offline Storage(Using HIVE) Functionality. Getting Started ?? Any suggestion, improvement on

null 2 Oct 2, 2022
Flutter plugin (android) for sharing bytes and files Offline, (Based on the android Nearby Connections API)

nearby_connections An android flutter plugin for the Nearby Connections API Currently supports Bytes and Files. Transfer Data between multiple connect

Prerak Mann 63 Nov 21, 2022
A lightweight and customizable http client that allows you to create offline-first dart app easily.

Enjoyable & customizable offline-first REST API client Unruffled is lightweight and customizable http client that allows you to create offline-first e

T. Milian 3 May 20, 2022
A Flutter plugin to easily handle realtime location in iOS and Android. Provides settings for optimizing performance or battery.

Flutter Location Plugin This plugin for Flutter handles getting location on Android and iOS. It also provides callbacks when location is changed. Gett

Guillaume Bernos 953 Dec 22, 2022