Fab*_*ioG 10 javascript sqlite react-native expo
根据 react-native 的 expo sqlite 文档,我可以像这样初始化一个数据库:
const db = SQLite.openDatabase('db.db');
Run Code Online (Sandbox Code Playgroud)
这有效,我可以像这样更新数据库:
update() {
db.transaction(tx => {
tx.executeSql(
`select * from items where done = ?;`,
[this.props.done ? 1 : 0],
(_, { rows: { _array } }) => this.setState({ items: _array })
);
});
}
Run Code Online (Sandbox Code Playgroud)
根据我有限的理解,这会在设备中创建一个数据库。然后它被操纵保持所有的数据库本地。
我有一个数据库,其中已经设置了所有必要的表。我如何让它使用我已经设置的当前数据库?
例如:(不正确的语法)
const db = SQLite.openDatabaseIShipWithApp('mypath/mydb.db');
Run Code Online (Sandbox Code Playgroud)
我找不到任何文档来帮助我解决这个问题。我上面提到的唯一原因是因为我已经有了包含表和数据的数据库。
任何帮助,将不胜感激!
我能够通过使用 expo 的 FileSystem.downloadAsync 来实现这一点:
首先我导入它,因为我使用的是博览会托管应用程序:
import { FileSystem } from 'expo';
Run Code Online (Sandbox Code Playgroud)
然后我从服务器下载它,如下所示:
// load DB for expo
FileSystem.downloadAsync(
'http://example.com/downloads/data.sqlite',
FileSystem.documentDirectory + 'data.sqlite'
)
.then(({ uri }) => {
console.log('Finished downloading to ', uri)
})
.catch(error => {
console.error(error);
})
Run Code Online (Sandbox Code Playgroud)
第一个参数是位置的 uri,第二个参数是我想要放置它的位置。这里我使用的是 documentDirectory。
| 归档时间: |
|
| 查看次数: |
6477 次 |
| 最近记录: |