更好 path_provider
Better path_provider
只是想知道是否有任何方法可以访问系统上的文件。不仅仅是 path_provider?
的目录提供者
看起来这应该是 core flutter 的一部分,或者至少是一个包。也许大多数 flutter 应用程序不需要来自其他地方的文件(或者也许大多数应用程序一般来说,我才刚刚开始)
我想扫描文件系统中的音频文件。我知道我可以在 android 中做到这一点,因为我制作了一个小演示应用程序来尝试使用本机代码进行一些操作
问题是每个平台都非常不同,无论是您可以做什么还是文件的排列方式。
path_provider 实际上有一种获取外部文件目录的方法:getExternalStorageDirectory. However, that only works on Android as iOS doesn't allow reading files outside the app's sandbox. But once you use that you can use dart:io's File and Directory 类 来读取文件。
您还需要 android 的权限才能读取文件。将其放入您的清单中应该可以做到,但是有大量 android 特定的答案会告诉您更多信息。
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
请注意,在 iOS 上,有一些方法可以访问特定类型的文件(即图片和视频),只是不能正常访问文件系统。
另请注意,如果您已经在 android 本机代码中完成,则可以使用 platform channels 在 flutter 和本机代码之间进行交互。
只是想知道是否有任何方法可以访问系统上的文件。不仅仅是 path_provider?
的目录提供者看起来这应该是 core flutter 的一部分,或者至少是一个包。也许大多数 flutter 应用程序不需要来自其他地方的文件(或者也许大多数应用程序一般来说,我才刚刚开始)
我想扫描文件系统中的音频文件。我知道我可以在 android 中做到这一点,因为我制作了一个小演示应用程序来尝试使用本机代码进行一些操作
问题是每个平台都非常不同,无论是您可以做什么还是文件的排列方式。
path_provider 实际上有一种获取外部文件目录的方法:getExternalStorageDirectory. However, that only works on Android as iOS doesn't allow reading files outside the app's sandbox. But once you use that you can use dart:io's File and Directory 类 来读取文件。
您还需要 android 的权限才能读取文件。将其放入您的清单中应该可以做到,但是有大量 android 特定的答案会告诉您更多信息。
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
请注意,在 iOS 上,有一些方法可以访问特定类型的文件(即图片和视频),只是不能正常访问文件系统。
另请注意,如果您已经在 android 本机代码中完成,则可以使用 platform channels 在 flutter 和本机代码之间进行交互。