gpt4 book ai didi

database - 我的模拟器不使用相同的数据库,如果我在不同的设备上安装我的应用程序也会发生这种情况吗?

转载 作者:搜寻专家 更新时间:2023-10-30 21:55:55 26 4
gpt4 key购买 nike

我一直在开发一个资源管理应用程序,但我的模拟器不会使用相同的数据库。每次我使用不同的模拟器时,数据库都是不同的。所有这些事情都发生在本地。这是它应该发生的方式吗?

我想要一些关于 SQLite 数据库如何在本地工作以及如何将同一个数据库用于不同的模拟器/设备的答案。

谢谢!

最佳答案

SQlite 是一个嵌入式数据库,每个设备都会有自己独特的数据库(简单来说就是一个文件)。

但是您可以提供一个预先存在的数据库。

您创建数据库(可能使用安卓设备或使用 SQLite 工具,有很多可用的免费工具,例如 DB Brwoser for SQLite、Navicat)。

然后您将生成的文件(文件名 = 数据库名称)复制到 Assets 文件夹中,并且在打开数据库之前有一个将文件复制到该位置的过程,因此复制的文件被打开。使用 SQLiteAssetHelper 可以简化复制过程.

  • 请注意,SQLiteAssethelper 期望该文件位于 Assets 文件夹中名为 databases 的文件夹中。

请注意,在上述情况下,每个数据库本身对于设备仍然是唯一的,因此如果您在设备上更改它,该数据库将从那时起对设备而言是唯一的。

如果您需要共享一个数据库,即设备所做的更改会反射(reflect)在所有设备上,那么您需要(不一定是这样,但是可能需要大量工作来管理此类使用 SQLite 进行更改) 以使用基于单个服务器的数据库,也许是 Firebase(谷歌的产品)或者说有 MySQL(有大量这样的服务器-客户端产品)。

您可能会发现 Appropriate Uses For SQLite有助于确定 SQLite 是否适合。

关于database - 我的模拟器不使用相同的数据库,如果我在不同的设备上安装我的应用程序也会发生这种情况吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51353150/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com