本地存储方法

本地存储有哪些方式?
方式 适用场景 插件
Key-Value 存储 简单数据(用户设置、令牌) shared_preferences
数据库存储 结构化数据(用户列表、历史记录) sqflite
文件存储 大文件(图片、日志) path_provider+ dart:io
内存缓存 临时高速访问数据 flutter_cache_manager


import 'dart:io';
import 'package:path_provider/path_provider.dart';

// 获取存储路径
Future<String> get _localPath async {
  final directory = await getApplicationDocumentsDirectory();
  return directory.path;
}

// 获取文件引用
Future<File> get _localFile async {
  final path = await _localPath;
  return File('$path/data.txt');
}

// 写入文件
Future<File> writeData(String data) async {
  final file = await _localFile;
  return file.writeAsString(data);
}

// 读取文件
Future<String> readData() async {
  try {
    final file = await _localFile;
    return await file.readAsString();
  } catch (e) {
    return "";
  }
}

关键 API:

getTemporaryDirectory():临时目录(系统可清理)
getApplicationDocumentsDirectory():应用私有目录
getExternalStorageDirectory():外部存储(仅 Android)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容