flutter_storage_info 0.0.5 flutter_storage_info: ^0.0.5 copied to clipboard
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.5
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
final flutterStorageInfo = FlutterStorageInfo();
double totalSpace = await flutterStorageInfo.getTotalDiskSpace;
double freeSpace = await flutterStorageInfo.getFreeDiskSpace;
double usedSpace = await flutterStorageInfo.getUsedDiskSpace;
print('Total Space: $totalSpace');
print('Free Space: $freeSpace');
print('Used Space: $usedSpace');
}
Methods #
- You can access all the methods using the
flutterStorageInfo
object as shown below:
final flutterStorageInfo = FlutterStorageInfo();
Internal Storage (Device Storage) #
getFreeDiskSpace
: Returns the amount of free space available on the device's internal storage.getTotalDiskSpace
: Returns the total amount of space available on the device's internal storage.getUsedDiskSpace
: Returns the amount of used space on the device's internal storage.getFreeDiskSpaceInGB
: Returns the amount of free space available on the device's internal storage in gigabytes.getTotalDiskSpaceInGB
: Returns the total amount of space available on the device's internal storage in gigabytes.getUsedDiskSpaceInGB
: Returns the amount of used space on the device's internal storage in gigabytes.getFreeDiskSpaceInMB
: Returns the amount of free space available on the device's internal storage in megabytes.getTotalDiskSpaceInMB
: Returns the total amount of space available on the device's internal storage in megabytes.getUsedDiskSpaceInMB
: Returns the amount of used space on the device's internal storage in megabytes.
External Storage (SD Card) #
getFreeExternalDiskSpace
: Returns the amount of free space available on the device's external storage.getTotalExternalDiskSpace
: Returns the total amount of space available on the device's external storage.getUsedExternalDiskSpace
: Returns the amount of used space on the device's external storage.getFreeExternalDiskSpaceInGB
: Returns the amount of free space available on the device's external storage in gigabytes.getTotalExternalDiskSpaceInGB
: Returns the total amount of space available on the device's external storage in gigabytes.getUsedExternalDiskSpaceInGB
: Returns the amount of used space on the device's external storage in gigabytes.getFreeExternalDiskSpaceInMB
: Returns the amount of free space available on the device's external storage in megabytes.getTotalExternalDiskSpaceInMB
: Returns the total amount of space available on the device's external storage in megabytes.getUsedExternalDiskSpaceInMB
: Returns the amount of used space on the device's external storage in megabytes.
Get the size of a given directory in MB (megabytes)
String directoryPath = '/storage/emulated/0/Movies/MyFolder/';
double directorySize = await FlutterStorageInfo.getSizeOfDirectoryInMB(directoryPath);
>> 12.98790
Get storage type from path (internal or external)
String path = '/storage/emulated/0/Android';
DeviceStorageType storageType = FlutterStorageInfo.getStorageTypeFromPath(path);
>> DeviceStorageType.internal
Get storage usage value from total and used space
Get a value from 0.0 to 1.0 indicating the storage usage given the total and used space.
double storageTotal = await FlutterStorageInfo.getExternalStorageTotalSpaceInGB;
double storageUsed = await FlutterStorageInfo.getExternalStorageUsedSpaceInGB;
double storageUsageValue = FlutterStorageInfo.getStorageUsageValue(storageUsed, storageTotal);
>> 0.95
Get whether - given the storage type - the storage is below the threshold
This method calls the above methods internally and returns a boolean value indicating whether the storage is below the threshold.
DeviceStorageType storageType = DeviceStorageType.internal;
// Optionally set the threshold. The default is 0.98 (98%)
double threshold = 0.96;
bool isBelowThreshold = FlutterStorageInfo.getIsStorageTypeBelowThreshold(storageType, threshold);
>> true
Get whether the storage is low on storage using the storage usage value and threshold
double storageTotal = await FlutterStorageInfo.getExternalStorageTotalSpaceInGB;
double storageUsed = await FlutterStorageInfo.getExternalStorageUsedSpaceInGB;
double threshold = 0.96;
double storageUsageValue = FlutterStorageInfo.getStorageUsageValue(storageUsed, storageTotal);
bool isBelowThreshold = FlutterStorageInfo.getIsStorageBelowThreshold(storageUsageValue, threshold);
>> true
Screenshot #
Permissions #
Android #
Add the following permissions to your AndroidManifest.xml file:
<manifest xmlns:android="http://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!