小编Los*_*xan的帖子

生成签名的 Bundle 需要您将 Android Gradle 插件更新到版本 3.2.0 或更高版本

我知道这个问题已被多次回答,但没有一个解决方案对我有用。我已经更新了 build.gradle 文件 在此输入图像描述

当我尝试通过命令行运行更新时 在此输入图像描述

这是我的项目中的文件结构

在此输入图像描述

我该如何让它发挥作用?我正在尝试构建一个签名包。

android bundle

5
推荐指数
1
解决办法
699
查看次数

将事件添加到 table_calendar

我对 flutter/Dart 编程非常陌生,对下面的代码感到困惑。我没有编写代码,但我想用它在 table_calendar 插件的日历网格上显示事件标记。

class calEvent {
  final String title;

  const calEvent(this.title);

  @override
  String toString() => title;
}

/// Example events.
///
/// Using a [LinkedHashMap] is highly recommended if you decide to use a map.
final kEvents = LinkedHashMap<DateTime, List<calEvent>>(
  equals: isSameDay,
  hashCode: getHashCode,
)..addAll(_kEventSource);
**<<<<<<  I think FirestoreService().getEvent() would go here but I don't know how to add it or convert from Stream<List<Event>> to LinkedHashMap<DateTime, List<calEvent>>  >>>>>>**
final _kEventSource = Map.fromIterable(List.generate(50, (index) => index),
    key: (item) => …
Run Code Online (Sandbox Code Playgroud)

calendar flutter

2
推荐指数
1
解决办法
5170
查看次数

在 flutter 中映射 Firebase 流

我主要通过阅读这里的帖子和观看 YouTube 视频来学习 flutter,但似乎我已经达到了视频不能满足我需要的程度,所以我来这里寻求帮助。

我正在尝试了解 Streams、Firebase 和映射。

我需要使用 Riverpod 创建一个 StreamProvider。这是我用来创建 StreamProvider 的代码:

final trxnStreamProvider = StreamProvider.autoDispose<List<Trxns>>((ref) {
  final stream = firestoreService.getAgencyTrxns();
  return stream.map((snapshot) => snapshot.docs.map((doc) =>
      Trxns.fromFirestore(doc.data)).toList());
});
Run Code Online (Sandbox Code Playgroud)

我在这段代码中从 Firebase 获取流:

  Stream<QuerySnapshot> getAgencyTrxns() async* {
    yield* FirebaseFirestore.instance
        .collection('agency').doc(globals.agencyId)
        .collection('trxns')
        .where('trxnStatus', isNotEqualTo: 'Closed')
        .snapshots();
  }
Run Code Online (Sandbox Code Playgroud)

因此,我根据上面的代码片段从 Firebase 获取了 QuerySnapshot。这效果很好。

然后,此 QuerySnapshot 返回到我创建 StreamProvider 的第一个代码片段中的“stream”变量。

然后,QuerySnapshot 变量“stream”被映射到 <List> 并通过此代码返回到 trxnStreamProvider。

return stream.map((snapshot) => snapshot.docs.map((doc) =>
          Trxns.fromFirestore(doc.data)).toList());
Run Code Online (Sandbox Code Playgroud)

我在“doc.data”处收到错误,指出:参数类型“对象?” Function()' 无法分配给参数类型 'Map<String,dynamic>'。

我试图了解这行代码到底在做什么,我需要你的帮助。

return stream.map((snapshot) => snapshot.docs.map((doc) =>
          Trxns.fromFirestore(doc.data)).toList());
Run Code Online (Sandbox Code Playgroud)

让我告诉你我认为它在做什么:

  1. 变量stream有一个名为“map”的方法,调用该方法将QuerySnapshot映射到列表。我不确定“快照”来自哪里,但我认为它是通过此调用 firestoreService.getAgencyTrxns() …

stream firebase flutter google-cloud-firestore

2
推荐指数
1
解决办法
2346
查看次数

在flutter中将参数从一个类传递到另一个类

我需要将字符串从一个类传递到另一个类,但出现错误。

这是我想要从中传递参数的类的代码:

onTap: () {
                                String titleCompanyId =  snapshot.data?.docs[index].id;
                                Navigator.of(context).push(
                                  MaterialPageRoute(
                                    builder: (context) =>
                                        const TitleCompanyScreen(false, snapshot.data?.docs[index].id),
                                  ),
                                );
                              },
Run Code Online (Sandbox Code Playgroud)

错误出现在我传递的第二个参数上(snapshot.data?.docs[index].id),这是错误:

无效的常量值。

该参数是来自 Cloud Firestore 的文档 ID。

这是我接收参数的代码:

class TitleCompanyScreen extends ConsumerStatefulWidget {

  const TitleCompanyScreen([
    this.isNewTitleCompany,
    this.titleCompanyId,
    Key? key,
  ]) : super(key: key);

  final bool? isNewTitleCompany;
  final String? titleCompanyId;

  @override
  ConsumerState<TitleCompanyScreen> createState() => _TitleCompanyScreenState();
}
Run Code Online (Sandbox Code Playgroud)

我如何传递这个参数?谢谢

更新:

这是我在第一个答案之后得到的。

onTap: () {
                                String? titleCompanyId =  snapshot.data?.docs[index].id;
                                
                                Navigator.of(context).push(
                                  MaterialPageRoute(
                                    builder: (context) =>
                                        const TitleCompanyScreen(false, titleCompanyId),
                                  ),
                                );
                              },
Run Code Online (Sandbox Code Playgroud)

现在,我在 titleCompanyId 参数上收到此错误:

Arguments …
Run Code Online (Sandbox Code Playgroud)

dart flutter

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