What Will I Learn?
- You will learn about the battery plugin
- You will learn about the connectivity plugin
- You will learn about the device info plugin
- You will learn how to handle Platform Messages in Flutter
- You will learn about Flutter-Fire and the various Google backed Plugins for Flutter
Requirements
- IDEA intellij or Visual Studio Code with the Dart/Flutter Plugins
- The Dart SDK and the Flutter SDK
- A fair understanding of Mobile development and Imperative or Object Oriented Programming
Difficulty
- Intermediate
Description
In this Flutter Video Tutorial, we take a look at three general utility plugins; connectivity, battery and device info. These plugins are a part of the Flutter Fire GitHub Repository; a repository of plugins that are maintained by the flutter team. All of the plugins make use of Platform Messages which are asynchronous messages that are sent to and from the host platform. Through these messages, Flutter gains access to APIs that are are part of the Host platform's ecosystem. This includes hardware APIs, operating system applications and drivers.
The Connectivity Plugin gives us an API that lets us check the status of the internet connectivity of the device that our application is installed on. This can be very useful because it allows us to throttle some of the features in our application in response to changes in the internet speed and availability. With this library, we can make sure that our application does not eat up too much data.
The Battery Plugin is similar to the connectivity plugin, except it gives us an API which lets us communicate with the battery state of the device. We can use this feature to build out applications that directly relate to battery power. Again, we are able to use this to dynamically change how are applications react to the changes in the device's battery life.
The final plugin we looked at in this tutorial is the Device Info plugin. The device info plugin gives us access to various different pieces of information that are unique to the device that the application is running on. This includes the brand, model number, id and fingerprint. We can use these different properties to change some of the features of our application and make it so that the application can work better on older devices. We can also make it so that the application provides alternative features for devices that are lacking specific pieces of hardware.
The source code for this project can be found here
The Flutter Fire Repository can be found here
Video Tutorial
Projects and Series
Stand Alone Projects:
- Dart Flutter Cross Platform Chat Application Tutorial
- Building a Temperature Conversion Application using Dart's Flutter Framework
- Managing State with Flutter Flux and Building a Crypto Tracker Application with Dart's Flutter Framework
Building a Calculator
- Building a Calculator Layout using Dart's Flutter Framework
- Finishing our Calculator Application with Dart's Flutter Framework
Movie Searcher Application
- Building a Movie Searcher with RxDart and SQLite in Dart's Flutter Framework (Part 1)
- Building a Movie Searcher with RxDart and SQLite in Dart's Flutter Framework (Part 2)
- Building a Movie Searcher with RxDart and SQLite in Dart's Flutter Framework (Part 3, Final)
Minesweeper Game
Curriculum
- Building a Multi-Page Application with Dart's Flutter Mobile Framework
- Making Http requests and Using Json in Dart's Flutter Framework
- Building Dynamic Lists with Streams in Dart's Flutter Framework
- Using GridView, Tabs, and Steppers in Dart's Flutter Framework
- Using Global Keys to get State and Validate Input in Dart's Flutter Framework
- The Basics of Animation with Dart's Flutter Framework
- Advanced Physics Based Animations in Dart's Flutter Framework
- Building a Drag and Drop Application with Dart's Flutter Framework
- Building a Hero Animation and an Application Drawer in Dart's Flutter Framework
- Using Inherited Widgets and Gesture Detectors in Dart's Flutter Framework
- Using Gradients, Fractional Offsets, Page Views and Other Widgets in Dart's Flutter Framework
- Making use of Shared Preferences, Flex Widgets and Dismissibles with Dart's Flutter framework
- Using the Different Style Widgets and Properties in Dart's Flutter Framework
- Composing Animations and Chaining Animations in Dart's Flutter Framework
- Building a Countdown Timer with a Custom Painter and Animations in Dart's Flutter Framework
- Reading and Writing Data and Files with Path Provider using Dart's Flutter Framework
- Exploring Webviews and the Url Launcher Plugin in Dart's Flutter Framework
- Adding a Real-time Database to a Flutter application with Firebase
- Building a List in Redux with Dart's Flutter Framework
- Managing State with the Scoped Model Pattern in Dart's Flutter Framework
- Authenticating Guest Users for Firebase using Dart's Flutter Framework
- How to Monetize Your Flutter Applications Using Admob
- Using Geolocator to Communicate with the GPS and Build a Map in Dart's Flutter Framework
- Managing the App Life Cycle and the Screen Orientation in Dart's Flutter Framework
Posted on Utopian.io - Rewarding Open Source Contributors