乐闻世界logo
搜索文章和话题

How can I access local database on react native?

7 个月前提问
5 个月前修改
浏览次数39

1个答案

1

在 React Native 中访问本地数据库通常会使用一些流行的库来实现数据存储和访问的功能。最常用的库是 SQLite 和 Realm。下面我将详细介绍如何使用这两种方法来访问本地数据库。

使用 SQLite

SQLite 是一个轻量级的数据库,非常适合在移动设备上使用。React Native 社区提供了一些封装好的 SQLite 库,例如 react-native-sqlite-storage

安装和设置:

首先,你需要安装这个库:

bash
npm install react-native-sqlite-storage

然后,在你的 React Native 项目中导入并使用它:

javascript
import SQLite from 'react-native-sqlite-storage'; // 打开或创建数据库 const db = SQLite.openDatabase({name: 'my.db', location: 'default'}, () => { console.log('数据库已成功打开或创建'); }, err => { console.error('打开数据库出错: ', err); }); // 使用数据库 db.transaction(tx => { // 创建表 tx.executeSql('CREATE TABLE IF NOT EXISTS Users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER)', []); // 插入数据 tx.executeSql('INSERT INTO Users (name, age) VALUES (?, ?)', ['John', 30]); // 查询数据 tx.executeSql('SELECT * FROM Users', [], (tx, results) => { var len = results.rows.length; for (let i = 0; i < len; i++) { let row = results.rows.item(i); console.log(`用户 ID: ${row.id}, 名字: ${row.name}, 年龄: ${row.age}`); } }); });

使用 Realm

Realm 是另一种流行的跨平台轻量级数据库解决方案,适用于 React Native。它提供了更丰富的数据模型和查询能力。

安装和配置:

首先安装 Realm:

bash
npm install realm

使用 Realm:

javascript
import Realm from 'realm'; // 定义模型和架构 class User extends Realm.Object {} User.schema = { name: 'User', primaryKey: 'id', properties: { id: 'int', name: 'string', age: 'int', }, }; // 打开数据库 let realm = new Realm({schema: [User]}); // 写入数据 realm.write(() => { realm.create('User', { id: 1, name: 'John', age: 30, }); }); // 读取数据 let users = realm.objects('User'); console.log('用户数量:', users.length); users.forEach(user => { console.log(`用户 ID: ${user.id}, 名字: ${user.name}, 年龄: ${user.age}`); });

在这两种方案中,你可以根据自己的需求和项目的复杂度选择合适的数据库解决方案。SQLite 适合更传统的 SQL 操作,而 Realm 提供了更现代化的数据管理方法。

2024年6月29日 12:07 回复

你的答案