我有几个屏幕。其中一个屏幕从数据库中获取数据。如果我改变屏幕,然后再回来......它会再次读取它。再一次......我想知道我是否应该创建一个保存这些数据的单例类,而不是每次都查询数据库/共享首选项......?
1 回答
0
使用提供程序包:
dependencies:
provider: ^5.0.0
这是示例:
import 'dart:convert';
import 'package:http/http.dart' as http;
import 'package:admin/models/config.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/foundation.dart';
import 'package:shared_preferences/shared_preferences.dart';
class AdminBloc extends ChangeNotifier {
bool _isSignedIn = false;
bool _testing = false;
AdminBloc() {
checkSignIn();
}
String get userType => _userType;
bool get isSignedIn => _isSignedIn;
void checkSignIn() async {
final SharedPreferences sp = await SharedPreferences.getInstance();
_isSignedIn = sp.getBool('signed in') ?? false;
notifyListeners();
}
}
于 2021-04-28T10:45:55.753 回答