I am trying to use Hive database in my flutter project. In order to use hive db I will have to use path_provider package. I installed that too. but when I run the app again or restart it is neither running nor restarting and getting this error.
Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null)
E/flutter (15905): #0
PathProviderApi.getApplicationDocumentsPath
package:path_provider_android/messages.g.dart:9
ANDROID MANIFEST FILE PERMISSIONS
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
/>
MY CODE
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
final document = await getApplicationDocumentsDirectory(); // ERROR AT THIS LINE
Hive.init(document.path);
runApp(const MyApp());
}
Actually, I didn't put any uses-permission in Maneifest file to use Hive. Instead of Hive.init(), I would like to suggest to use Hive.initFlutter(). But without
final document = await getApplicationDocumentsDirectory();
inside initFlutter() method, these actions are already done by itself.
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
Hive.initFlutter();
runApp(const MyApp());
}