由于 cloud_firestore

问题描述

我想从 Firestore 获取数据,将其放入列表中,并允许用户使用应用程序以 CSV 格式下载手机上的数据。

我找到了两种如何在手机上将数据导出到 CSV 文件解决方案,但两种解决方案都包含我无法安装的软件包。

解决方案 #1 How to create and export csv file in flutter?

依赖关系 #1

dependencies:
  page_view_indicators: ^2.0.0
  syncfusion_Flutter_xlsio: ^19.1.64-beta
  csv: ^5.0.0
  ext_storage: ^1.0.3
  permission_handler: ^8.0.0+1
  Flutter:
    sdk: Flutter
  cupertino_icons: ^1.0.2

问题 #1

Because cloud_firestore >=0.13.1 <0.14.0-dev.1 depends on cloud_firestore_platform_interface ^1.0.0 which depends on plugin_platform_interface ^1.0.0,cloud_firestore >=0.13.1 <0.14.0-dev.1 requires plugin_platform_interface ^1.0.0.

And because permission_handler >=8.0.0 depends on permission_handler_platform_interface ^3.5.0 which depends on plugin_platform_interface ^2.0.0,cloud_firestore >=0.13.1 <0.14.0-dev.1 is incompatible with permission_handler >=8.0.0.

So,because gamiforms depends on both permission_handler ^8.0.0+1 and cloud_firestore ^0.13.3,version solving Failed.
pub get Failed (1; So,version solving Failed.)
exit code 1

解决方案#2 https://medium.com/flutterdevs/exploring-csv-in-flutter-fafc57b02eb1

依赖关系 #2

dependencies:
  page_view_indicators: ^2.0.0
  syncfusion_Flutter_xlsio: ^19.1.64-beta
  csv: ^5.0.0
  ext_storage: ^1.0.3
  file_picker: ^3.0.1
  Flutter:
    sdk: Flutter
  cupertino_icons: ^1.0.2

问题#2

Because cloud_firestore >=0.13.1 <0.14.0-dev.1 depends on cloud_firestore_platform_interface ^1.0.0 which depends on plugin_platform_interface ^1.0.0,cloud_firestore >=0.13.1 <0.14.0-dev.1 requires plugin_platform_interface ^1.0.0.

And because file_picker >=3.0.0-nullsafety.3 depends on plugin_platform_interface ^2.0.0,cloud_firestore >=0.13.1 <0.14.0-dev.1 is incompatible with file_picker >=3.0.0-nullsafety.3.

So,because gamiforms depends on both file_picker ^3.0.1 and cloud_firestore ^0.13.3,version solving Failed.)
exit code 1

如何解决其中一个问题,或者还有其他方法可以通过应用将数据导出到手机吗?

我以前从未这样做过,欢迎提出任何建议。

编辑

dev_dependencies:
  Flutter_test:
    sdk: Flutter
  cached_network_image: ^2.0.0
  cloud_firestore: ^0.13.3
  firebase_auth: ^0.15.2
  provider: ^3.2.0
  #google_sign_in: ^4.1.1
  shared_preferences: ^0.5.6+3
  random_string: ^2.0.1

解决方法

在这两种情况下,您 cloud_firestore 都太老了。我看到当前版本是

cloud_firestore:^2.2.0

所以,除非这个版本有问题,否则你应该将其迁移到最新版本,这应该取决于plugin_platform_interface的更高版本

cloud_firestore: ^2.2.0 依赖于 cloud_firestore_platform_interface: ^5.1.0,后者依赖于 plugin_platform_interface: ^2.0.0

因此,将您的 pubsec.yaml 文件更改为具有,

cloud_firestore: ^2.2.0

然后运行,flutter pub get。