flutter_file_manager 0.2.0
flutter_file_manager: ^0.2.0 copied to clipboard
Helper tools for managing files on Android
flutter_file_manager #
Helper tools for managing files on Android.
Getting Started #
For help getting started with Flutter, view our online documentation.
For help on editing package code, view the documentation.
Screenshots #
Usage #
To use this package, add these
dependency in your pubspec.yaml
file.
dependencies:
flutter:
sdk: flutter
path: 1.6.2
path_provider: 0.5.0+1
flutter_file_manager: ^0.2.0
And, add read / write permissions in your
android/app/src/main/AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
Don't forget to grant Storage
permissions to your app, manually or by this plugin simple_permissions
// dart files
import 'dart:async';
// framework
import 'package:flutter/material.dart';
// packages
import 'package:path_provider/path_provider.dart';
import 'package:flutter_file_manager/flutter_file_manager.dart';
import 'package:simple_permissions/simple_permissions.dart';
void main() => runApp(new MyApp());
class MyApp extends StatefulWidget {
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
SimplePermissions.requestPermission(Permission.ReadExternalStorage);
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("Flutter File Manager Example"),
),
body: FutureBuilder(
future: _files(),
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
return ListView.builder(
itemCount: snapshot.data?.length ?? 0,
itemBuilder: (context, index) {
return ListTile(
title: Text(snapshot.data[index].path.split('/').last),
);
},
);
} else if (snapshot.connectionState == ConnectionState.waiting) {
return Center(child: Text("Loading"));
}
}),
),
);
}
_files() async {
var root = await getExternalStorageDirectory();
var files = await FileManager(root: root).walk().toList();
return files;
}
}
Examples #
Features #
- file details
- search files or directories: supports regular expressions
- recent created files: you can exclude a list of directories from the tree
- directories only tree: you can exclude a list of directories from the tree
- files only tree: you can exclude a list of directories from the tree
- files list from specific point
- delete files
- delete directory
- temp file
- Sorting
- Type
- Size
- date
- Alpha
- filtering
- extensions
- files only
- directories only