0

我有几个屏幕。其中一个屏幕从数据库中获取数据。如果我改变屏幕,然后再回来......它会再次读取它。再一次......我想知道我是否应该创建一个保存这些数据的单例类,而不是每次都查询数据库/共享首选项......?

4

1 回答 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 回答