泉州专业网站设计技术公司,网页游戏魔域永恒开服表,网络营销培训多少钱,wordpress取消自动分页文章目录 概念介绍实现方法示例代码 我们在上一章回中介绍了如何实现本地存储相关的内容#xff0c;本章回中将介绍如何实现文件存储.闲话休提#xff0c;让我们一起Talk Flutter吧。 概念介绍
我们在上一章回中介绍的本地存储只能存储dart语言中基本类型的数值… 文章目录 概念介绍实现方法示例代码 我们在上一章回中介绍了如何实现本地存储相关的内容本章回中将介绍如何实现文件存储.闲话休提让我们一起Talk Flutter吧。 概念介绍
我们在上一章回中介绍的本地存储只能存储dart语言中基本类型的数值如果遇到大的文件如何处理呢?本章回将介绍如何实现文件存储。在Flutter中文件存储相关的 接口都在io库中该库中常用的类是Directory和File。本章回中将详细介绍它们的使用方法。
实现方法
获取本地存储路径在路径中创建文件在文件中读写数据 上面的步骤看着简单实际上操作起来比较复杂本章回先介绍第1个步骤获取本地存储路径下一章回再介绍另外两个步骤相关的知识。本地存储路径在不同的平台上 有不同的API接口而且获取到的路径也不一样.难道我们要针对不同平台写不同的代码不需要Flutter官方已经想到了这个问题并且帮助开发人员解决了此问题。 它提供了path_provider包通过该包可以使用统一的API接口实现跨平台的功能。下面是该包的使用方法在yaml配置文件中导入包获取本地目录目录的类型是Future从获取到的目录中获取文件路径路径是绝对路径 这些步骤看着简单但是不容易理解下面我们将通过示例代码来演示。这样可以方便大家理解上面的使用方法
示例代码 ///对应目录data/user/0/package_name/cacheFutureDirectory?? _tempDirectory;///获取directory中的路径Widget _buildDirectory(BuildContext context,AsyncSnapshotDirectory? snapshot) {Text text const Text();if(snapshot.connectionState ConnectionState.done) {if(snapshot.hasError) {text Text(Error: ${snapshot.error});}else if (snapshot.hasData) {text Text(Path: ${snapshot.data?.path});}else {text const Text(Path unavailable);}}return Padding(padding: const EdgeInsets.only(top: 2),child:text,);}///通过包中的接口获取directoryvoid _requestTempDirectory() {setState(() {_tempDirectory getTemporaryDirectory();});}上面的代码中先使用包中的接口getTemporaryDirectory()获取到了directory然后在该directory中获取绝对路径。代码中把路径存放到了Text组件上把 Text组件放到页面上后就可以看到路径的具体值。这种方式参考了path_provider包官方给的示例大家可以到官方文档中查看更加详细的内容。 包中还有其它的API 接口给开发者使用不同的接口可以获取到不同的路径,我在这里就不一一介绍了大家可以参考官方文档。 看官们关于如何实现文件存储相关的内容就介绍到这里欢迎大家在评论区交流与讨论!