温馨提示×

centos中flutter数据存储如何操作

小樊
46
2025-08-16 19:15:33
栏目: 云计算

在CentOS系统中,Flutter的数据存储可以通过多种方式实现,包括SharedPreferences、文件存储、SQLite数据库等。以下是一些基本的操作方法:

1. SharedPreferences

SharedPreferences是一种轻量级的数据存储方式,适用于存储简单的键值对数据。

安装依赖

首先,确保你的Flutter项目中已经添加了shared_preferences依赖。在pubspec.yaml文件中添加:

dependencies: flutter: sdk: flutter shared_preferences: ^2.0.15 

使用SharedPreferences

import 'package:shared_preferences/shared_preferences.dart'; // 保存数据 Future<void> saveData(String key, String value) async { final prefs = await SharedPreferences.getInstance(); await prefs.setString(key, value); } // 读取数据 Future<String?> getData(String key) async { final prefs = await SharedPreferences.getInstance(); return prefs.getString(key); } // 删除数据 Future<void> deleteData(String key) async { final prefs = await SharedPreferences.getInstance(); await prefs.remove(key); } 

2. 文件存储

Flutter提供了dart:io库来处理文件存储。

写入文件

import 'dart:io'; import 'package:path_provider/path_provider.dart'; Future<File> getFile() async { final directory = await getApplicationDocumentsDirectory(); return File('${directory.path}/example.txt'); } Future<void> writeFile(String content) async { final file = await getFile(); await file.writeAsString(content); } 

读取文件

Future<String> readFile() async { final file = await getFile(); return await file.readAsString(); } 

3. SQLite数据库

SQLite是一种轻量级的数据库,适用于需要复杂查询和数据结构的应用。

安装依赖

首先,确保你的Flutter项目中已经添加了sqflitepath_provider依赖。在pubspec.yaml文件中添加:

dependencies: flutter: sdk: flutter sqflite: ^2.0.6+4 path_provider: ^2.0.9 

创建数据库和表

import 'package:sqflite/sqflite.dart'; import 'package:path/path.dart' as path; import 'package:path_provider/path_provider.dart'; Future<Database> openDatabase() async { final databasePath = await getDatabasesPath(); final databaseName = 'example.db'; return await openDatabase( path.join(databasePath, databaseName), version: 1, onCreate: (db, version) async { await db.execute(''' CREATE TABLE example ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, age INTEGER NOT NULL ) '''); }, ); } 

插入数据

Future<void> insertData(Map<String, dynamic> data) async { final db = await openDatabase(); await db.insert('example', data); } 

查询数据

Future<List<Map<String, dynamic>>> queryData() async { final db = await openDatabase(); return await db.query('example'); } 

更新数据

Future<void> updateData(Map<String, dynamic> data) async { final db = await openDatabase(); await db.update('example', data, where: 'id = ?', whereArgs: [data['id']]); } 

删除数据

Future<void> deleteData(int id) async { final db = await openDatabase(); await db.delete('example', where: 'id = ?', whereArgs: [id]); } 

通过这些方法,你可以在CentOS系统中使用Flutter进行数据存储操作。根据具体需求选择合适的数据存储方式。

0