首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Flutter :在外部存储路径上创建目录-路径提供者getExternalStorageDirectory()

Flutter是一种跨平台的移动应用开发框架,可以用于快速构建高性能、美观的移动应用程序。在Flutter中,可以使用路径提供者(path_provider)插件来在外部存储路径上创建目录。

外部存储路径是指设备上可供应用程序访问的持久性存储空间,通常是SD卡或类似的外部存储介质。通过使用路径提供者插件的getExternalStorageDirectory()方法,可以获取外部存储路径的目录。

以下是完善且全面的答案:

概念: Flutter是一种跨平台的移动应用开发框架,由Google开发和维护。它使用Dart语言编写,并提供了丰富的UI组件和工具,使开发者能够快速构建高性能、美观的移动应用程序。

分类: Flutter属于跨平台移动应用开发框架,可以同时在Android和iOS平台上运行。

优势:

  1. 跨平台开发:Flutter允许开发者使用单一代码库构建同时运行在Android和iOS平台上的应用程序,减少了开发和维护的工作量。
  2. 高性能:Flutter使用自绘引擎Skia来渲染UI,具有出色的性能表现,能够实现流畅的动画和交互效果。
  3. 美观的UI:Flutter提供了丰富的UI组件和样式,开发者可以轻松创建漂亮、一致的用户界面。
  4. 快速开发:Flutter具有热重载功能,可以实时预览代码更改的效果,加快开发迭代速度。
  5. 强大的工具生态系统:Flutter拥有丰富的开发工具和插件,可以提高开发效率和代码质量。

应用场景: Flutter适用于各种移动应用开发场景,包括但不限于:

  1. 商业应用程序:如企业管理系统、CRM系统等。
  2. 社交媒体应用程序:如聊天应用、社交网络应用等。
  3. 电子商务应用程序:如在线购物应用、电子支付应用等。
  4. 媒体和娱乐应用程序:如音乐播放器、视频播放器等。
  5. 教育和学习应用程序:如在线学习平台、电子书阅读器等。

推荐的腾讯云相关产品和产品介绍链接地址: 腾讯云提供了丰富的云计算产品和服务,以下是与Flutter开发相关的推荐产品和介绍链接地址:

  1. 云服务器(CVM):提供可扩展的虚拟服务器,用于部署和运行Flutter应用程序。详情请参考:https://cloud.tencent.com/product/cvm
  2. 对象存储(COS):提供安全、可靠的云端存储服务,用于存储Flutter应用程序的静态资源和文件。详情请参考:https://cloud.tencent.com/product/cos
  3. 云数据库MySQL版(CDB):提供高性能、可扩展的关系型数据库服务,用于存储Flutter应用程序的数据。详情请参考:https://cloud.tencent.com/product/cdb
  4. 云函数(SCF):提供无服务器的函数计算服务,用于处理Flutter应用程序的后端逻辑。详情请参考:https://cloud.tencent.com/product/scf

通过使用路径提供者插件的getExternalStorageDirectory()方法,可以在Flutter应用程序中获取外部存储路径的目录。具体代码示例如下:

代码语言:txt
复制
import 'package:path_provider/path_provider.dart';

Future<void> createDirectory() async {
  final directory = await getExternalStorageDirectory();
  final path = directory.path;
  final newDirectory = Directory('$path/my_directory');
  if (!newDirectory.existsSync()) {
    newDirectory.createSync();
    print('目录创建成功');
  } else {
    print('目录已存在');
  }
}

上述代码中,首先导入了路径提供者插件(path_provider),然后使用getExternalStorageDirectory()方法获取外部存储路径的目录。接着,通过Directory类创建了一个新的目录,并使用createSync()方法创建目录。如果目录已存在,则打印"目录已存在";如果目录创建成功,则打印"目录创建成功"。

注意:在使用路径提供者插件之前,需要在Flutter项目的pubspec.yaml文件中添加依赖项:

代码语言:txt
复制
dependencies:
  path_provider: ^2.0.2

以上是关于在外部存储路径上创建目录的完善且全面的答案,希望能对您有所帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Flutter 实战】文件系统目录

您的应用不应将此目录用于存放用户数据文件。 iOS,对应NSApplicationSupportDirectory ,如果此目录不存在,则会自动创建。...getExternalStorageDirectory 应用程序可以访问顶级存储目录路径。由于此功能仅在Android可用,因此应在发出此函数调用之前确定当前操作系统。...getExternalCacheDirectories 存储特定于应用程序的外部缓存数据的目录路径。这些路径通常位于外部存储(如单独的分区或SD卡)。电话可能具有多个可用的存储目录。...getExternalStorageDirectories 可以存储应用程序特定数据的目录路径。这些路径通常位于外部存储(如单独的分区或SD卡)。...getDownloadsDirectory 存储下载文件的目录路径,这通常仅与台式机操作系统有关。Android和iOS,此函数将引发[UnsupportedError]异常。

2.9K10

flutter使用dio实现 文件下载并实现进度监听总结

ios中,使用xcode打开本目录 选中Xcode 工程中的 info.plist文件,右键选择Open As - Source Code,将权限配置的代码copy到里面即可,键值对中的内容可按项目需求相应修改...-- 媒体资料库 --> NSAppleMusicUsageDescription 需要您的同意, APP才能访问媒体资料库 flutter...: ^4.3.0 申请权限代码如下 ///PermissionGroup.storage 对应的是 ///android 的外部存储 (External Storage) ///ios 的...,在这里使用的是 path_provider 插件 path_provider: 1.6.0 ///获取手机的存储目录路径 ///getExternalStorageDirectory() 获取的是...android 的外部存储 (External Storage) /// getApplicationDocumentsDirectory 获取的是 ios 的Documents` or `Downloads

6.3K11
  • Flutter 专题】42 图解页面截屏与本地保存小尝试

    RepaintBoundary Flutter 提供了支持截屏的 RepaintBoundary,需要截取部分的外层嵌套,也可以截取某一子 Widget 内容;RepaintBoundary 的结构很简单...存储在内存中,借助 image.memory() 方式展示具体位置;而当前只是获取到图片的流信息,仅可用于操作,还未存储本地; toByteData() 生成的数据格式一般分三种: rawRgba...,跟 Android/iOS 类似,首先获取存储路径,再进行存储操作;和尚借助三方插件 path_provider 来获取图片路径; path_provider 提供了 getTemporaryDirectory...临时路径 / getApplicationDocumentsDirectory 全局路径等,可以根据不同的需求存储不同路径; 和尚为了测试方便选择存放在设备根目录getExternalStorageDirectory...,可能会遇到权限问题,和尚为了测试方便在 Android 中添加读写权限,并手动设备中打开,之后便可正常存储; ?

    2.1K51

    Android 获取系统各个目录的方法

    Android开发过程中,我们经常会对文件系统进行操作——存放、释放我们应用的数据。Android系统中提供了各种功能的文件目录,每个目录都有相应的特点和功能。...Shared Preferences和SQLite数据库文件都是存储在内部存储空间的。...外部存储中的文件是可以被用户或者其他应用程序修改的,外部存储中的目录实际也分为两种: -公共文件(目录) 文件是可以被自由访问,且文件的数据对其他应用或者用户来说都是由 意义的,当应用被卸载之后,其卸载前创建的文件仍然保留...Environment.getExternalStorageDirectory() SD卡的根目录路径:/storage/emulated/0 Log.e(TAG, Environment.getExternalStorageDirectory...外部存储,应用私有文件的价值在于卸载之后,这些文件也会被删除。类似于内部存储

    6.3K10

    Flutter】Image 组件 ( 加载网络图片 | 加载静态图片 | 加载本地图片 | path_provider 插件 )

    文章目录 一、加载网络图片 二、加载静态图片 三、加载本地图片 四、完整代码示例 五、相关资源 一、加载网络图片 ---- 参考 【Flutter】Image 组件 ( Image 组件简介 | Image...width: 200, ), 二、加载静态图片 ---- 加载静态图片步骤 : 先声明图片 , 再使用图片 ; ① 声明图片资源 : pubspec.yaml 中声明图片资源路径 ; ② 访问图片.../files 路径中 , 这也是调用 path_provider 插件的 getExternalStorageDirectory() 方法获得的 SD 卡路径 ; 拷贝图片命令 : adb push sidalin3...SD 卡路径 , build 方法中判定如果 SD 卡路径不为空 , 才显示 Image 组件 ; /// SD 卡路径 String sdPath; @override void...( 入门阶段推荐看一遍 ) GitHub Flutter 开源示例 : https://download.csdn.net/download/han1202012/15989510 博客源码下载

    1.9K30

    利用flutter_downloader插件Flutter中实现文件下载

    获取权限前我们需要先申明权限(Android)。 打开项目根目录下的 android/app/src/main/AndroidManifest.xml文件,位置如下图所示: ?.../reading-writing-files/),这里我们需要明白一个问题,就是iOS没有外置存储这一概念,因此需要对平台进行判断,代码如下: // 获取存储路径 Future _findLocalPath...() async { // 因为Apple没有外置存储,所以第一步我们需要先对所在平台进行判断 // 如果是android,使用getExternalStorageDirectory //...; } 通过上述代码我们便可以获取存储路径,但是如果我们不想把文件下载到存储路径呢?...比如我就喜欢单独设置一个 /Download路径专门用于保存下载文件,其实也很简单: // 获取存储路径 var _localPath = (await _findLocalPath()) + '/Download

    6.2K30

    Android文件存储使用

    清除数据: 2.1 标新立异sd卡根目录建一个目录,招致用户反感 2.2 用户卸载应用后,残留目录或者数据在用户机器,招致用户反感 需要判断两者的可用空间: sd卡存在时,可用空间反而小于机身内部存储...各个路径的特性 下面介绍这些路径的特性以及使用中需要注意的细节: 根目录( $rootDir ): 内部存储路径: /data , 通过 Environment.getDataDirectory...() 获取 外部存储路径: /storage/sdcard0 (也有类似 /mnt/ 这样的),通过 Environment.getExternalStorageDirectory() 获取 示例...外部存储中,公开的数据目录。...特别注意, 对于外部存储,获取 $cacheDir 或者 $filesDir 及其下的路径 * API level 8 以下,或者空间不足,相关的方法获路径为空时,需要自己构造。

    2.3K30

    浅谈android获取存储目录(路径)的几种方式和注意事项

    通常, 我们创建文件/目录, 或者存储图片什么的, 我们都需要拿到手机的存储路径, 现在我们就来看一下获取手机存储路径的几种方式(作为工具类方法调用即可): 第一种: 获取 /storage/emulated...();//获取根目录 Log.e("qq", "外部存储可用..." + sdDir.toString()); } return sdDir.toString(); } //使用 private void...", Toast.LENGTH_SHORT).show(); //} } } 以上两种获得的路径, 其实就是系统的根目录, 比如我的手机是华为荣耀6, 就在本地- 内部存储这个路径下 第三种: 获取手机指定目录...// Environment.DIRECTORY_DOWNLOADS 目录创建名为fileName的文件夹 刷新查看 File file = new File(Environment.getExternalStoragePublicDirectory...File类型的即可 以上这篇浅谈android获取存储目录(路径)的几种方式和注意事项就是小编分享给大家的全部内容了,希望能给大家一个参考。

    1.5K10

    Android文件系统整理

    总揽 Android文件系统从大的方面分为以下几类: 1、内部存储 2、外部存储 3、SharedPreferences 4、数据库 PS:SharedPreferences和数据库我们另外的篇幅中详细介绍...1、App 私有目录 App 的私有目录指其他应用可以访问当前应用该目录下的数据,应用卸载后也会随之删除。 公共目录外部可以自由访问,应用删除后这部分存储的数据不会删除。...具有多个用户的设备(如 UserManager 所述),每个用户都有自己的隔离共享存储。应用程序只能访问它们正在运行的用户的共享存储。...外部公共目录可以通过以下函数获取 Environment.getExternalStorageState() // SD 卡状态 Environment.getExternalStorageDirectory...获得此权限的应用仍然无法访问属于其他应用的内部存储空间,因为这些目录存储显示为 Android/data/ 的子目录

    81230

    安卓开发_数据存储技术_外部存储

    安卓外部存储,即将数据存储sdcard中,当然存储的前提是手机或者模拟器先具有sdcard目录 然而一句话还是有歧义的。...事实所有的安卓设备都有外部存储和内部存储,这两个名称来源于安卓的早期设备,那个时候的设备内部存储确实是固定的,而外部存储确实是可以像U盘一样移动的。...但是在后来的设备中,很多中高端机器都将自己的机身存储扩展到了8G以上,他们将存储概念分成了"内部internal" 和"外部external" 两部分,但其实都在手机内部。...--------------------------------------------------------------------------------------- 开发的时候创建模拟器的时候...()获取外部存储空间的目录 17 public static final String IMAGE_URL = Environment.getExternalStorageDirectory(

    1.9K80

    targetSdk27 FileProvider 摄像和照相

    --代表外部存储区域的根目录下的文件 Environment.getExternalStorageDirectory()/目录--> <external-path name="external_storage_root...--代表app <em>外部</em><em>存储</em>区域根<em>目录</em>下的文件 Context.getExternalFilesDir(Environment.DIRECTORY_PICTURES)<em>目录</em>下的Pictures<em>目录</em>-->...--代表app <em>外部</em><em>存储</em>区域根<em>目录</em>下的文件 Context.getExternalCacheDir<em>目录</em>下的images<em>目录</em>--> <!...当调用Environment.<em>getExternalStorageDirectory</em>()获取,<em>外部</em><em>存储</em>根<em>目录</em>时,获取的<em>路径</em>是: /storage/emulated/0 打印2.3中 photoUri...com.yoshin.company.blogdemo.fileprovider/external_storage_root/DCIM/camera/IMG_20200526_203123.jpg 此时<em>外部</em><em>存储</em>根<em>目录</em>在

    91410

    Android-文件存储目录

    android持久化方式 Android手机的存储分为:内部存储外部储存,Android4.4以前,手机机身存储就叫内部存储,插入的SD卡就是外部存储,但是Android4.4以后这两个存储的定义又有了一些些变化...,新的手机不再有外插SD卡的概念,采取了内置闪存(eMMC、UFS等)的方式,所以内部存储外部存储新的Android手机上已经同一个硬件上了。...手机机身自带的存储也是外部存储,如果再插入SD卡的话也叫外部存储,不过现在也几乎没有采用扩展卡内存这种方式来增加手机存储空间了,手机自带的外部存储足矣,除此以外还有一种公有目录存储,它返回的目录全都是共享的公有目录...说明: 归类存放公有文件 如果type不为null的话在外部私有目录创建返回一个名为type的文件夹,为null直接返回外部私有根目录。...对于公有目录上面的文件路径需要通过Environment获取 3.1 getExternalStorageDirectory() //SD卡外部存储路径 String externalStoragePath

    3.6K21

    Android:StatFs类 获取系统sdcard存储空间信息

    存储文件时,为了保证有充足的存储空间大小,通常需要知道系统内部或者sdcard的剩余存储空间大小,这里就需要用到StatFs类。 1....判断 SDCard 是否存在,并且是否具有可读写权限  /** * 外部存储是否可用 (存在且具有读写权限) * @return */ staticpublicboolean isExternalStorageAvailable...-- SDCard中创建与删除文件权限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"...() 获取到下载的缓存目录 3:getExternalStorageDirectory()     获取到外部存储目录 一般指SDcard 4:getExternalStorageState()          ...5:getRootDirectory()                   获取到Android Root路径 6:isExternalStorageEmulated()    返回Boolean值判断外部设置是否有效

    3K50

    Android网络与数据存储——File存储(实现SD卡文件浏览器)

    Android同样支持以这种方式来访问手机存储的文件。 一.存储在内部还是外部?...当手机内存为空时,程序将被安装到外部存储;当程序安装到手机上后,用户可以决定把程序放在外部存储器还是内存中。...preferExternal:将程序安装在外部存储器,但是系统不保证程序一定会被安装到外部存储。当外部存储器不可以安装或为空时,程序将被安装到内存中。...当程序使用了forward-locking机制时也将被安装到内存中,因为外部存储不支持此机制。程序安装后,用户可以自由切换程序应该在外部还是内部存储。...()方法来获取外部存储器,也就是SD卡的目录

    1.7K30

    1--安卓多媒体之图片综合篇

    零、前言 本篇将涉及: 1.调用系统相机、上传到服务器操作 2.大照片通过采样并压缩尺寸避免OOM 3.media中图片的内容提供者使用方法,增删改查,获取手机所有图片路径 4.显示最近100...dest.getParentFile().exists()) { //判断文件父目录是否存在 dest.getParentFile().mkdir(); }...加载正常.png ---- 实验三、图片与内容提供者: media作为手机的三鼎之一,自然是少不了内容提供者来向外界暴漏信息 主要储存在external.db(外部)和internal.db(内部)...media的内容提供者数据库.png 1.获取内容提供者并添加一条自定义信息的图片 private void insertImg() { //1.创建ContentValues对象,记录插入照片信息...,插入(外部图片存储Uri,values),返回插入图片的Uri Uri imgFileUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI

    58120
    领券