可以在 Flutter Store BigData 中配置 Hive(一些 GB 文件)
Posted
技术标签:
【中文标题】可以在 Flutter Store BigData 中配置 Hive(一些 GB 文件)【英文标题】:Can Hive in Flutter Store BigData(some GB files) 【发布时间】:2021-01-09 05:45:51 【问题描述】:我在想如果我存储视频或电影并打开该框,该视频是否会存储在我的 RAM 中,或者它只是从 ROM 加载。我有点困惑:谁能给我解释一下?
【问题讨论】:
【参考方案1】:我认为你误解了数据库的概念。
任何数据库解决方案都是仅存储纯粹的信息组织数据。不要存储大文件,例如媒体、文档或图像。
相反,存储不需要组织,所有文件都可以存在于一个文件夹中。
因此,您使用的任何数据库解决方案都始终存储数据类型。 在这种情况下,您可以拥有一个数据模型,这也是使用数据库时必不可少的东西。
@HiveType(typeId: 0)
class Movie extends HiveObject
@HiveField(0)
String name;
@HiveField(1)
int path;
由于 Hive 支持 Dart 对象,您不必将数据转换为 Json 或任何此类对象。
因此,当您从 Storag 获取文件时,您可以使用 path_provider
或从文件本身获取路径,然后创建对象
File file = await // get the movie file using any means
final path = file.path
var box = await Hive.openBox('Movies');
var m = Movie()
..name = 'Batman Begins'
..path = path ;
box.add(m);
m.save();
希望这能消除您的疑虑。
【讨论】:
【参考方案2】:在本地文件存储中复制/保存您的视频/媒体文件,并将文件路径保存在 Hive Box 中。
当您需要从配置单元获取路径时,然后使用该路径从本地存储中获取文件。
【讨论】:
你不是受到localStorage最大文件大小的严重限制吗? gwtproject.org/doc/latest/DevGuidehtml5Storage.html以上是关于可以在 Flutter Store BigData 中配置 Hive(一些 GB 文件)的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Flutter 标签栏指示器更改为与 google play store 完全相同
Flutter 应用程序部署到 App Store 被拒绝,并出现以下错误 -
由于应用内购买,App Store Flutter App Rejection
我在 App Store 上有一个使用 SwiftUI 制作的实时 iOS 应用程序,并且我用 Flutter 制作了相同的应用程序。如何更换 App Store 上的应用程序?