import 'package:flutter/services.dart'; class DataMethodChannel extends MethodChannel { DataMethodChannel(String name) : super(name) { setMethodCallHandler((call) { switch (call.method) { } return Future.value(); }); } } DataMethodChannel dataMethodChannel = DataMethodChannel('com.yeshi.video/data'); class MySharedPreferences { static MySharedPreferences? _instance; static MySharedPreferences getInstance() { _instance ??= MySharedPreferences(); return _instance!; } Future getString(String key) async { String? value = await _getValue(key); return value; } Future getBool(String key) async { String? value = await _getValue(key); if (value == null) { return null; } return value as bool; } Future getInt(String key) async { String? value = await _getValue(key); if (value == null) { return null; } return int.parse(value); } Future setString(String key, String value) async { return await _setValue(key, value); } Future setBool(String key, bool value) async { return await _setValue(key, value.toString()); } Future setInt(String key, bool value) async { return await _setValue(key, value.toString()); } Future remove(String key) async { return await _removeValue(key); } Future _setValue(String key, String? value) async { String? success = await dataMethodChannel .invokeMethod("setSharedValue", {"key": key, "value": value}); print("MySharedPreferences 设置值:$success"); if (success != null && success == "1") { return true; } return false; } Future _removeValue(String key) async { String? success = await dataMethodChannel.invokeMethod("removeSharedValue", key); print("MySharedPreferences 删除值:$success"); if (success != null && success == "1") { return true; } return false; } Future _getValue(String key) async { String? result = await dataMethodChannel.invokeMethod("getSharedValue", key); print("MySharedPreferences 获取值:$result"); return result; } }