世博会中的脱机数据库

时间:2019-02-08 10:42:57

标签: react-native expo

我的用户将在本地存储10-500条记录。我正在寻找一种与Expo配合使用的脱机优先方法的数据库。

最终,用户可以选择将数据同步到(不确定的)在线服务。寻找与此有关的建议。

用户应该能够注册一个帐户以使用在线功能,例如同步其数据,上传照片和查看其他用户的内容。即使没有帐户,脱机功能也应该可以使用。

您对数据库层和堆栈的总体建议是什么?希望能听到您的建议。

1 个答案:

答案 0 :(得分:0)

正如布鲁诺·爱德华多(Bruno Eduardo)在评论中提到的,世博会附带了sqlite。 一个例子: 您从博览会导入SQLite:

import { SQLite } from 'expo';

然后您可以像这样启动数据库:

const db = SQLite.openDatabase('db.db');

这将在本地用户电话中创建数据库。
从那里,您可以查询要创建的表,并以这种方式加载数据。

db.transaction(tx => {
tx.executeSql('create table if not exists users (id integer);')
});

您可以采用两种方法(可能更多,但我想到的只是两种)。 您可以从api查询数据,以便将其本地加载。或另一个选择是将已经设置好数据的数据库复制到设备。

我需要提到您的方法存在一些问题。出于多种原因的最佳实践(我不会提及)是使用api进行数据处理。如果您要处理简单的记录,则查询api的时间最少。如果用户“最终用户将可以选择同步数据”,那么最好在开始构建本地数据库之前考虑解决这一问题。