一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

centos中flutter如何实现数据持久化

时间:2026-06-05 09:52:27 编辑:袖梨 来源:一聚教程网

在CentOS系统下,Flutter实现数据持久化有多种方式,以下是一些常用的方法:

centos下flutter如何实现数据持久化

1. 使用 shared_preferences

shared_preferences 是一个Flutter插件,用于存储简单的键值对数据。

安装插件

在终端中运行以下命令来安装 shared_preferences 插件:

flutter pub add shared_preferences

使用示例

import 'package:flutter/material.dart';import 'package:shared_preferences/shared_preferences.dart';void main() {runApp(MyApp());}class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(home: DataPersistenceExample(),);}}class DataPersistenceExample extends StatefulWidget {@override_DataPersistenceExampleState createState() => _DataPersistenceExampleState();}class _DataPersistenceExampleState extends State<DataPersistenceExample> {String _data = '';@overridevoid initState() {super.initState();_loadData();}void _loadData() async {SharedPreferences prefs = await SharedPreferences.getInstance();setState(() {_data = prefs.getString('key') ?? 'Default Value';});}void _saveData() async {SharedPreferences prefs = await SharedPreferences.getInstance();setState(() {prefs.setString('key', _data);});}@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Data Persistence Example'),),body: Center(child: Column(mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[TextField(decoration: InputDecoration(labelText: 'Enter Data',),onChanged: (value) {setState(() {_data = value;});},),SizedBox(height: 20),ElevatedButton(onPressed: _saveData,child: Text('Save Data'),),SizedBox(height: 20),Text('Data: $_data'),],),),);}}

2. 使用 sqflite

sqflite 是一个Flutter插件,用于在本地存储SQLite数据库。

安装插件

在终端中运行以下命令来安装 sqflite 插件:

flutter pub add sqflite

使用示例

import 'package:flutter/material.dart';import 'package:sqflite/sqflite.dart';import 'dart:convert';void main() {runApp(MyApp());}class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(home: DataPersistenceExample(),);}}class DataPersistenceExample extends StatefulWidget {@override_DataPersistenceExampleState createState() => _DataPersistenceExampleState();}class _DataPersistenceExampleState extends State<DataPersistenceExample> {String _data = '';@overridevoid initState() {super.initState();_loadData();}void _loadData() async {final database = await openDatabase('my_database.db', version: 1);final Map<String, dynamic> data = await database.get('data');if (data != null) {setState(() {_data = data['value'] ?? 'Default Value';});}await database.close();}void _saveData() async {final database = await openDatabase('my_database.db', version: 1);await database.insert('data',{'value': _data},conflictAlgorithm: ConflictAlgorithm.replace,);await database.close();}@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Data Persistence Example'),),body: Center(child: Column(mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[TextField(decoration: InputDecoration(labelText: 'Enter Data',),onChanged: (value) {setState(() {_data = value;});},),SizedBox(height: 20),ElevatedButton(onPressed: _saveData,child: Text('Save Data'),),SizedBox(height: 20),Text('Data: $_data'),],),),);}}

3. 使用 flutter_secure_storage

flutter_secure_storage 是一个Flutter插件,用于安全地存储敏感数据,如密码、令牌等。

安装插件

在终端中运行以下命令来安装 flutter_secure_storage 插件:

flutter pub add flutter_secure_storage

使用示例

import 'package:flutter/material.dart';import 'package:flutter_secure_storage/flutter_secure_storage.dart';void main() {runApp(MyApp());}class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(home: DataPersistenceExample(),);}}class DataPersistenceExample extends StatefulWidget {@override_DataPersistenceExampleState createState() => _DataPersistenceExampleState();}class _DataPersistenceExampleState extends State<DataPersistenceExample> {String _data = '';@overridevoid initState() {super.initState();_loadData();}void _loadData() async {final storage = FlutterSecureStorage();setState(() {_data = storage.read(key: 'key') ?? 'Default Value';});}void _saveData() async {final storage = FlutterSecureStorage();await storage.write(key: 'key', value: _data);}@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Data Persistence Example'),),body: Center(child: Column(mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[TextField(decoration: InputDecoration(labelText: 'Enter Data',),onChanged: (value) {setState(() {_data = value;});},),SizedBox(height: 20),ElevatedButton(onPressed: _saveData,child: Text('Save Data'),),SizedBox(height: 20),Text('Data: $_data'),],),),);}}

以上是几种常见的Flutter数据持久化方法,你可以根据具体需求选择合适的方法。

热门栏目