Flutter本地数据存储插件ume_kit_shared_preferences的使用
Flutter本地数据存储插件ume_kit_shared_preferences
的使用
ume_kit_shared_preferences
基于 UME 下的 shared_preferences
插件,可以实时查看、修改或删除所有 shared_preferences
缓存的 key 的值。
接入 UME Example
只需将整个 ume_kit_shared_preferences
放入 kit
中本地导入,并在 pubspec.yaml
文件中进行配置:
dependencies:
ume_kit_shared_preferences:
path: ../kits/ume_kit_shared_preferences
在 main.dart
文件中新增以下代码,SharedPreferencesInspector
模块即可被带入 UME 主模块:
import 'package:ume/ume.dart';
import 'package:ume_kit_shared_preferences/shared_preferences_inspector.dart';
void main() {
// 初始化 UME 并注册 SharedPreferencesInspector 模块
UME().init(
appTitle: 'UME Example',
kits: [
SharedPreferencesInspector(), // 注册 SharedPreferencesInspector 模块
],
);
runApp(MyApp());
}
不接入 Example 运行
如果不接入 UME,本项目自带一个 demo/main.dart
文件可以直接运行,详情可以参考 screenshots
文件夹下的录制视频。实测支持 iOS、Android 和 macOS。理论上,所有 shared_preferences
插件支持的平台都支持,但因手头没有 Linux 和 Windows 平台设备,因此无法保证这些平台的兼容性。
完整示例 Demo
以下是一个完整的示例代码,展示如何使用 ume_kit_shared_preferences
插件:
// main.dart
import 'package:flutter/material.dart';
import 'package:ume/ume.dart';
import 'package:ume_kit_shared_preferences/shared_preferences_inspector.dart';
void main() {
// 初始化 UME 并注册 SharedPreferencesInspector 模块
UME().init(
appTitle: 'UME Example',
kits: [
SharedPreferencesInspector(), // 注册 SharedPreferencesInspector 模块
],
);
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('UME Example')),
body: Center(
child: ElevatedButton(
onPressed: () async {
// 使用 shared_preferences 插件保存数据
final prefs = await SharedPreferences.getInstance();
await prefs.setString('name', 'John Doe');
await prefs.setInt('age', 25);
print('Data saved successfully!');
},
child: Text('Save Data'),
),
),
),
);
}
}
更多关于Flutter本地数据存储插件ume_kit_shared_preferences的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter本地数据存储插件ume_kit_shared_preferences的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
ume_kit_shared_preferences
是一个用于 Flutter 应用的本地数据存储插件,它基于 shared_preferences
封装,提供了更加便捷的方式来存储和读取简单的键值对数据。shared_preferences
是 Flutter 官方推荐的一个轻量级数据存储解决方案,适用于存储少量的数据,如用户设置、应用配置等。
下面是如何在 Flutter 项目中使用 ume_kit_shared_preferences
插件的步骤:
1. 添加依赖
首先,在 pubspec.yaml
文件中添加 ume_kit_shared_preferences
插件的依赖:
dependencies:
flutter:
sdk: flutter
ume_kit_shared_preferences: ^1.0.0 # 请查看最新版本
然后,运行 flutter pub get
来安装依赖。
2. 初始化插件
在你的 Flutter 应用中,通常需要在 main.dart
文件中初始化 ume_kit_shared_preferences
插件。你可以通过 WidgetsFlutterBinding.ensureInitialized()
来确保插件在使用前已经初始化。
import 'package:flutter/material.dart';
import 'package:ume_kit_shared_preferences/ume_kit_shared_preferences.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await UmeKitSharedPreferences.init();
runApp(MyApp());
}
3. 存储数据
你可以使用 UmeKitSharedPreferences
来存储各种类型的数据,如 int
、double
、bool
、String
和 List<String>
。
void saveData() async {
await UmeKitSharedPreferences.setInt('age', 25);
await UmeKitSharedPreferences.setDouble('height', 1.75);
await UmeKitSharedPreferences.setBool('isStudent', true);
await UmeKitSharedPreferences.setString('name', 'John Doe');
await UmeKitSharedPreferences.setStringList('hobbies', ['Reading', 'Swimming']);
}
4. 读取数据
你可以通过键来读取存储的数据:
void readData() async {
int age = await UmeKitSharedPreferences.getInt('age') ?? 0;
double height = await UmeKitSharedPreferences.getDouble('height') ?? 0.0;
bool isStudent = await UmeKitSharedPreferences.getBool('isStudent') ?? false;
String name = await UmeKitSharedPreferences.getString('name') ?? '';
List<String> hobbies = await UmeKitSharedPreferences.getStringList('hobbies') ?? [];
print('Age: $age');
print('Height: $height');
print('Is Student: $isStudent');
print('Name: $name');
print('Hobbies: $hobbies');
}
5. 删除数据
你可以通过键来删除存储的数据:
void deleteData() async {
await UmeKitSharedPreferences.remove('age');
}
6. 清除所有数据
你可以使用 clear()
方法来清除所有存储的数据:
void clearData() async {
await UmeKitSharedPreferences.clear();
}
7. 使用示例
以下是一个完整的示例,展示了如何使用 ume_kit_shared_preferences
插件来存储、读取和删除数据:
import 'package:flutter/material.dart';
import 'package:ume_kit_shared_preferences/ume_kit_shared_preferences.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await UmeKitSharedPreferences.init();
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('SharedPreferences Example')),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: saveData,
child: Text('Save Data'),
),
ElevatedButton(
onPressed: readData,
child: Text('Read Data'),
),
ElevatedButton(
onPressed: deleteData,
child: Text('Delete Data'),
),
ElevatedButton(
onPressed: clearData,
child: Text('Clear All Data'),
),
],
),
),
),
);
}
void saveData() async {
await UmeKitSharedPreferences.setInt('age', 25);
await UmeKitSharedPreferences.setDouble('height', 1.75);
await UmeKitSharedPreferences.setBool('isStudent', true);
await UmeKitSharedPreferences.setString('name', 'John Doe');
await UmeKitSharedPreferences.setStringList('hobbies', ['Reading', 'Swimming']);
print('Data saved');
}
void readData() async {
int age = await UmeKitSharedPreferences.getInt('age') ?? 0;
double height = await UmeKitSharedPreferences.getDouble('height') ?? 0.0;
bool isStudent = await UmeKitSharedPreferences.getBool('isStudent') ?? false;
String name = await UmeKitSharedPreferences.getString('name') ?? '';
List<String> hobbies = await UmeKitSharedPreferences.getStringList('hobbies') ?? [];
print('Age: $age');
print('Height: $height');
print('Is Student: $isStudent');
print('Name: $name');
print('Hobbies: $hobbies');
}
void deleteData() async {
await UmeKitSharedPreferences.remove('age');
print('Age deleted');
}
void clearData() async {
await UmeKitSharedPreferences.clear();
print('All data cleared');
}
}