在离线数据库中存储图像、文本注释和音频文件的方法.Android、Java



我想创建一个应用程序,在那里我可以将文本、图像和音频笔记保存到离线数据库(无需互联网连接),然后以列表式布局显示它们。我不想直接将文件保存到内部存储器。

这是我第一次创建移动应用程序,所以我需要帮助为这种用例选择正确的数据库。有什么建议吗?

我认为您可能混淆了一些术语。而您可以将各种媒体放入数据库中。有时这不是最实际的解决方案。听起来您可能考虑的是文件存储,而不是数据库。此外,如果文件不在外部服务器/数据库上,那么它们必须位于某个地方,而不是位于设备的本地。您的应用程序将不会运行本地数据库服务,以便存储媒体文件。这将是大量的开销,并占用大量的资源。

首先要知道的是:android中的数据库是SQLite,所以任何其他离线数据库都只是管理SQLite数据库的层,它只保存数字和文本数据,但你可以保存任何其他类型,如图像、音频、数组。。。Ect通过创建转换器将其保存在数据库中。

例如:您可以保存BitMap-图像类型-,方法是将其转换为ByteArray-0和1的列表-默认文本类型-,然后您可以将其保存到数据库中,当您想要选择值时,只需按相反的方式进行转换(String->ByteArray->BitMap),因此这里的诀窍是了解如何在类型之间进行转换。

现在答案是:最好的离线数据库是RoomDatabase,这是创建和管理SQLite数据库的最快方法,有了Room,你不需要从头开始构建SQLite数据库,它会为你构建它,并且有一个创建转换器的好方法。但对于初学者来说,标准SQLite已经足够了,如果你会发现RoomDB更难的话。

最新更新