小编Mar*_*rco的帖子

如何在 Flutter 中缓存 Firebase 数据?

在我的应用程序中,我使用来自 Firebase 的数据构建了一个对象列表。在 StreamBuilder 中,我检查快照是否有数据。如果没有,我将返回一个带有“正在加载...”的简单文本小部件。我的问题是,如果我转到应用程序中的另一个页面,然后再回来,您会在一瞬间看到屏幕中间显示“正在加载...”,这有点烦人。我很确定它正在从 Firebase 下载数据,并在我每次返回该页面时构建小部件。如果我不检查数据,它会给我一个我试图从 null 访问数据的数据。

有没有办法缓存已经下载的数据,如果来自 Firebase 的数据没有变化,那么就使用缓存的数据?

这是我的代码的编辑版本:

class Schedule extends StatefulWidget implements AppPage {
  final Color color = Colors.green;
  @override
  _ScheduleState createState() => _ScheduleState();
}

class _ScheduleState extends State<Schedule> {
  List<Event> events;
  List<Event> dayEvents;
  int currentDay;
  Widget itemBuilder(BuildContext context, int index) {
    // Some Code
  }
  @override
  Widget build(BuildContext context) {
    return Center(
      child: StreamBuilder(
        stream: Firestore.instance.collection('events').snapshots(),
        builder: (context, snapshot) {
          if (!snapshot.hasData) {
            return Text("Loading...");
          }
          events = new List(snapshot.data.documents.length);
          for (int i …
Run Code Online (Sandbox Code Playgroud)

caching dart firebase flutter google-cloud-firestore

9
推荐指数
2
解决办法
9190
查看次数

哪里可以找到没有 xcode 的 iOS Bundle ID?(扑)

我需要找到我的应用程序的 Bundle ID 才能将它添加到我的 firebase 项目中。

我使用 VS Code 进行 Flutter 开发,但是关于在哪里找到包 ID 的所有在线指南都解释了如何使用 xcode 找到它,因为我有一台 PC,所以我无法使用

ios flutter

6
推荐指数
2
解决办法
2942
查看次数

Scipy 优化最小化总是返回初始猜测(SLSQP)

正如标题所解释的,我的程序总是返回最初的猜测。

就上下文而言,该计划正在尝试找到在多个商店之间分配某些产品的最佳方式。每家商店都有对未来几天预计销售商品的预测(sales_data)。该预测不一定必须是整数或大于 1(很少如此),它是统计意义上的期望。因此,如果商店的 sales_data = [0.33, 0.33, 0.33],则预计 3 天后,他们将售出 1 单位的产品。

我想最大限度地减少出售我分配的单位所需的总时间(我想以最快的速度出售它们),我的限制是我必须分配可用的单位,并且我不能分配负数的产品到一家商店。我现在可以接受非整数分配。对于我的初始分配,我将我可用的单位平均分配给所有商店。

下面是我遇到问题的代码的较短版本:

import numpy, random
from scipy.optimize import curve_fit, minimize

unitsAvailable = 50
days = 15

class Store:

    def __init__(self, num):
        self.num = num

        self.sales_data = []


stores = []
for i in range(10):
    # Identifier
    stores.append(Store(random.randint(1000, 9999)))
    # Expected units to be sold that day (It's unlikey they will sell 1 every day)
    stores[i].sales_data = [random.randint(0, 100) / 100 for i in range(days)]
    print(stores[i].sales_data)


def days_to_turn(alloc, store): …
Run Code Online (Sandbox Code Playgroud)

python numpy scipy scipy-optimize scipy-optimize-minimize

4
推荐指数
1
解决办法
6007
查看次数

Firebase Firestore:有没有办法强制集合中所有文档的必填字段?

我正在为我正在创建的应用程序手动添加数据。我必须将许多文档添加到一个集合中,所有这些文档都必须包含相同的 5 个字段。当我在 Firebase 控制台中创建新文档时,有没有办法自动创建这些字段?并且还要强制所有文档都包含这 5 个字段(这样我就不会犯错误)?

此外,有没有比从 Firebase 控制台手动添加这些数据更好的方法?例如通过JSON?

firebase google-cloud-firestore

3
推荐指数
1
解决办法
1357
查看次数