flutter_storage_info 0.0.6 copy "flutter_storage_info: ^0.0.6" to clipboard
flutter_storage_info: ^0.0.6 copied to clipboard

PlatformAndroid

Flutter plugin for retrieving storage information. Easily get details on device storage usage. Reliable and efficient.

Flutter Storage Info #

A Flutter plugin to retrieve information about device storage.

This plugin provides methods to get information about both internal and external storage space on an Android device.

Usage #

To use this plugin, add flutter_storage_info as a dependency in your pubspec.yaml file.

dependencies:
  flutter_storage_info: ^0.0.6
import 'package:flutter_storage_info/flutter_storage_info.dart';

Example #

import 'package:flutter_storage_info/flutter_storage_info.dart';

void main() async {
  // Fetch the storage info
  int totalSpace = await FlutterStorageInfo.storageTotalSpace;
  int freeSpace = await FlutterStorageInfo.storageFreeSpace;
  int usedSpace = await FlutterStorageInfo.storageUsedSpace;

  print('Total Space: $totalSpace bytes');
  print('Free Space: $freeSpace bytes');
  print('Used Space: $usedSpace bytes');
}

Methods #

The following methods are provided by the FlutterStorageInfo class:

Internal Storage (Device Storage) #

  • storageFreeSpace: Retrieves the amount of free space available on the device's internal storage in bytes.
  • storageTotalSpace: Retrieves the total amount of space available on the device's internal storage in bytes.
  • storageUsedSpace: Retrieves the amount of used space on the device's internal storage in bytes.

External Storage (SD Card) #

  • externalStorageFreeSpace: Retrieves the amount of free space available on the device's external storage in bytes.
  • externalStorageTotalSpace: Retrieves the total amount of space available on the device's external storage in bytes.
  • externalStorageUsedSpace: Retrieves the amount of used space on the device's external storage in bytes.

Conversion Methods #

  • getStorageSpaceInMB(String method): Retrieves the specified storage space in megabytes (MB).
  • getStorageSpaceInGB(String method): Retrieves the specified storage space in gigabytes (GB).

Directory Size #

  • getSizeOfDirectoryInMB(String directory): Retrieves the size of the specified directory in megabytes (MB).

Storage Type Detection #

  • getStorageTypeFromPath(String path): Determines whether the specified path corresponds to internal or external storage. Returns a DeviceStorageType enum value (internal or external).

Storage Usage Calculation #

  • calculateStorageUsage(double storageUsed, double storageTotal): Calculates the storage usage value as a ratio (storageUsed / storageTotal). Throws an exception if storageTotal is less than or equal to zero.

Low Storage Detection #

  • isLowOnStorage(DeviceStorageType storageType, {double threshold = 0.98}): Checks if the storage usage exceeds the specified threshold (default is 98%). Returns true if usage is above the threshold, otherwise false.

Examples #

Get the size of a directory in MB #

String directoryPath = '/storage/emulated/0/Movies/MyFolder';
double directorySize = await FlutterStorageInfo.getSizeOfDirectoryInMB(directoryPath);
print('Directory Size: $directorySize MB');

Determine the storage type from a path #

String path = '/storage/emulated/0/Android';
DeviceStorageType storageType = FlutterStorageInfo.getStorageTypeFromPath(path);
print('Storage Type: $storageType');

Calculate storage usage value #

double storageTotal = await FlutterStorageInfo.getStorageSpaceInGB('getStorageTotalSpaceInGB');
double storageUsed = await FlutterStorageInfo.getStorageSpaceInGB('getStorageUsedSpaceInGB');

double usageValue = FlutterStorageInfo.calculateStorageUsage(storageUsed, storageTotal);
print('Storage Usage Value: $usageValue');

Check if storage is low #

DeviceStorageType storageType = DeviceStorageType.internal;
double threshold = 0.95;

bool isLow = await FlutterStorageInfo.isLowOnStorage(storageType, threshold: threshold);
print('Is Low on Storage: $isLow');

Screenshot #

Screenshot

Permissions #

Android #

Add the following permissions to your AndroidManifest.xml file:

<manifest xmlns:android="https://schemas.android.com/apk/res/android"
          package="com.example.app">

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

</manifest>

Supported Platforms #

  • Android (✅)
  • iOS (🕑)
  • Linux (❌)
  • macOS (❌)
  • Windows (❌)

Issues and Feedback #

Please file issues to send feedback or report a bug. Thank you!

6
likes
150
points
592
downloads

Publisher

verified publisherjay-pi.site

Weekly Downloads

Flutter plugin for retrieving storage information. Easily get details on device storage usage. Reliable and efficient.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on flutter_storage_info