所以我试图捕捉“无网络”错误。
我正在听 Firestore 中的文档,如下所示:
final docRef = FirebaseFirestore.instance.collection(kInfoCollection).doc(kInfoDocument);
docSubscription = docRef.snapshots().distinct().listen((_) {});
docSubscription.onData((snapshot) => _processInfo(snapshot))
docSubscription.onError((e, s) {
final errorMessage = 'Message:\n$e \nThe Stack was:\n$s';
print('Error $errorMessage');
throw InfoException(errorMessage);
});
Run Code Online (Sandbox Code Playgroud)
如您所见,侦听器正在侦听文档,如果捕获到任何文档,则会抛出错误。
但是没有发现控制台中显示的这些 Firebase 错误:
Connection 1: encountered error(1:53)
6.26.0 - [Firebase/Firestore][I-FST000001] WatchStream (283fb4118) Stream error: 'Unavailable: Network connectivity changed'
6.26.0 - [Firebase/Firestore][I-FST000001] WatchStream (283fb4118) Stream error: 'Unavailable: DNS resolution failed'
6.26.0 - [Firebase/Firestore][I-FST000001] WatchStream (283fb4118) Stream error: 'Unavailable: DNS resolution failed'
6.26.0 - [Firebase/Firestore][I-FST000001] WatchStream (283fb4118) Stream error: 'Unavailable: failed …Run Code Online (Sandbox Code Playgroud) 我在我的 pubspec.yaml 中使用 Sembast Cloud Firestore 类型适配器:
sembast_cloud_firestore_type_adapters:
git:
url: git://github.com/tekartik/sembast_flutter_more.dart
path: cloud_firestore_type_adapters
ref: dart2
version: '>=0.1.0'
Run Code Online (Sandbox Code Playgroud)
和加载适配器:
loading:
git:
url: git://github.com/leonzone/loading.git
path: loading
ref: 8f5a63f
Run Code Online (Sandbox Code Playgroud)
一切正常,直到今天。我对以上两行都收到此错误:
warning: Publishable packages can't have git dependencies.
这是我的flutter doctor:
Doctor summary (to see all details, run flutter doctor -v):
[?] Flutter (Channel master, 1.24.0-7.0.pre.71, on Mac OS X 10.15.7 19H2 darwin-x64,
locale en-US)
[?] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[?] Xcode - develop for iOS …Run Code Online (Sandbox Code Playgroud) 我在这个问题上浪费了将近一周的时间却毫无结果。
\n这是错误:
\nFailed to build iOS app\nError output from Xcode build:\n\xe2\x86\xb3\n ** BUILD FAILED **\n\n\nXcode\'s output:\n\xe2\x86\xb3\n Writing result bundle at path:\n /var/folders/fq/7j2x58m57c9bk10jg7q47krr0000gn/T/flutter_tools.vyKPSp/flutter_ios_build_temp_di\n rGZCufm/temporary_xcresult_bundle\n\n\n Failed to package /Volumes/ME/Projects/Flutter-Proj/app.\n Command PhaseScriptExecution failed with a nonzero exit code\n note: Building targets in dependency order\n warning: Run script build phase \'Create Symlinks to Header Folders\' will be run during every\n build because it does not specify any outputs. To address this warning, either add output\n dependencies to the script phase, or configure …Run Code Online (Sandbox Code Playgroud) 从昨天开始,我的 Android Studio 就一直停留在加载屏幕上。X_X
我尝试过的:
disable.android.first.run=true到末尾好吧,我不想每次打开 Android Studio 时总是删除并重新下载 SDK。那么有人对此有什么解决办法吗?
谢谢
更多信息:
Android Studio 4.1
Build #AI-201.8743.12.41.6858069, built on September 23, 2020
Runtime version: 1.8.0_242-release-1644-b3-6222593 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.15.6
GC: ParNew, ConcurrentMarkSweep
Memory: 4029M
Cores: 8
Registry: ide.new.welcome.screen.force=true
Non-Bundled Plugins: org.jetbrains.kotlin, Dart, io.flutter
Run Code Online (Sandbox Code Playgroud)
我的jave -version
openjdk version "14.0.1" 2020-04-14
OpenJDK Runtime Environment (build 14.0.1+14) …Run Code Online (Sandbox Code Playgroud) 这PlatformView升级之前一切正常,然后我在稳定频道上将 Flutter 更新到了 3.0.1 版本然后,突然发生了奇怪的行为。
我创建了一个 GIF 供您参考。\n奇怪的行为是:
\nDropDownMenu它背后的事情。我尝试过使用Stack或其他小部件,但它不起作用。PlatformView 始终掌握一切。Navigator.push。正如你所看到的,它后面还有另一张图片。即使没有PlatformView即使另一页上对于 的其余实现,我按照此处的NativeView文档进行操作。
再一次,它在升级之前工作得很好。\n应该发生的事情是,除非PlatformView使用指定,否则不应位于其他小部件之上。\n当我转到下一页时,它应该位于新页面的后面,并且不应漂浮。Stack
我错过了什么吗?请告诉我。谢谢
\n\n\n我在 Dart 端的代码:\nmain.dart
class MyHomePage extends StatefulWidget {\n const MyHomePage({Key? key, required this.title}) : super(key: key);\n\n final String title;\n\n @override\n State<MyHomePage> createState() => _MyHomePageState();\n}\n\nclass _MyHomePageState extends State<MyHomePage> {\n late EffectController _controller;\n …Run Code Online (Sandbox Code Playgroud) 假设我在 Flutter 中有一个 Color 对象,我想改变它的色相、饱和度、亮度或亮度,我该怎么做?
谢谢
我打开了这个问题,但是因为很长一段时间没有答案,陈旧的机器人将它标记为“陈旧”,最后该机器人将其关闭。作为问题的所有者,我该如何重新打开它?
顺便说一下,我知道 Github 有这些规则:
但是我的情况不是上述情况,因为我是问题的所有者,并且问题不是由回购合作者而是由机器人关闭的。
谢谢
我是 Google Cloud SQL 和 Pub/Sub 的新手。我在任何地方都找不到关于此的文档。但另一个问题的接受和赞成的答案似乎是说,只要数据库发生插入,就可以发布发布/订阅消息。摘录自该答案:
2 - 理想的解决方案是创建 Pub/Sub 主题并在将新数据插入数据库时发布到该主题。
但由于我的问题是不同的,因此我在这里提出了一个新问题。
背景:我的应用程序结合使用了 Google Cloud SQL、Firestore 和实时数据库,以发挥其独特的优势。
我想要做的是一旦在 Google Cloud SQL 中插入成功,就能够写入 Firestore 和 Realtime 数据库。根据上面的答案,这是我应该做的步骤:
我已经弄清楚了步骤 #1 和 #3。我正在寻找的解决方案是步骤#2。
postgresql google-cloud-sql firebase google-cloud-pubsub google-cloud-firestore
我已经添加了PATH在.bash_profile这样的:
export PATH="$PATH:/Users/ME/development/flutter/bin/cache/dart-sdk/bin"
Run Code Online (Sandbox Code Playgroud)
然后重新启动了我的 Mac,但是当我这样做时which flutter dart,它仍然显示:
/Users/ME/development/flutter/bin/flutter
/usr/local/bin/dart
Run Code Online (Sandbox Code Playgroud)
根据这里的flutter 官方网站上的文章,最好将 dart 与 Flutter 放在同一文件夹中。文章摘录:
如上所示,这两个命令不是来自同一个 bin 目录。在来自 /usr/local/bin 的命令之前更新您的路径以使用来自 /path-to-flutter-sdk/bin 的命令(在这种情况下)。更新 shell 以使更改生效后,再次运行 which 或 where 命令应该会显示 flutter 和 dart 命令现在来自同一目录。
谢谢
我是 Android 编程的新手,但对 Flutter 并不陌生。到目前为止,我一直在 iOS 上进行测试。现在,当我想在 Android 上进行测试时,我遇到了这个问题:
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'android'.
> Could not resolve all artifacts for configuration ':classpath'.
> Could not resolve org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.10.
Required by:
project :
> Could not resolve org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.10.
> Could not get resource 'https://dl.google.com/dl/android/maven2/org/jetbrains/kotlin/kotlin-gradle-plugin/1.4.10/kotlin-gradle-plugin-1.4.10.pom'.
> Could not GET 'https://dl.google.com/dl/android/maven2/org/jetbrains/kotlin/kotlin-gradle-plugin/1.4.10/kotlin-gradle-plugin-1.4.10.pom'.
> Connect to 127.0.0.1:1088 [/127.0.0.1] failed: Connection refused (Connection refused)
> Could not resolve org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.10.
> Could not get resource …Run Code Online (Sandbox Code Playgroud) 抱歉这个菜鸟问题。但是如何从 Uri 获取 Url 字符串?根据我的理解,Url 是 Uri 的子集,但我找不到任何类似.getUrl. 我错过了什么吗?
背景:Flutter Web 中的 FirebaseStorage 以某种方式返回
而不是.getDownloadURL()UriString
来自 Flutter Web 的 FirebaseStorage 包的解释:
Future<Uri> getDownloadURL() 包:firebase/src/storage.dart
返回此引用的长期下载 URL。
getDownloadURL来自Flutter App 的FirebaseStorage 包的解释:
Future<String> getDownloadURL() 包:firebase_storage/firebase_storage.dart
获取该对象的长期下载 URL。
在 Flutter 应用程序中我的 pubspec.yaml:
firebase_core: ^0.5.1
firebase_auth: ^0.18.2
cloud_firestore: ^0.14.2
firebase_storage: ^5.0.0-dev.4
Run Code Online (Sandbox Code Playgroud)
在 Flutter Web 中我的 pubspec.yaml:
firebase: ^7.3.2
cloud_firestore: ^0.14.2
cloud_functions: ^0.6.0+1
Run Code Online (Sandbox Code Playgroud)
我尝试寻找解决方案并阅读文档,但没有找到任何有关将 Uri 从 Firebase 存储getDownloadURL方法转换为 Url 的文章。似乎几乎被视为同一件事。但这给了我错误。参见下面的代码:
*** 代码:
Future<String> uploadImage(String localFilename, …Run Code Online (Sandbox Code Playgroud) 例如:
// Update: This GestureDetector is embedded inside a third party package
// that will invoke a series of animation along with the onTap button
GestureDetector(
onTap: () => print('Hey There!'),
child: Widget1(),
)
// Then another place in the same screen
GestureDetector(
onDoubleTap: () {
//Call the onTap of Widget1's GestureDetector
print('I'm Here');
}
child: Widget2(),
)
Run Code Online (Sandbox Code Playgroud)
我想是当用户双击Widget2时,也会调用onTap的回调Widget1。
更新:所以我不想只调用传递给onTapofGestureDetector的函数Widget1,而是以编程方式点击onTapWidget1 的GestureDetector
我怎么做?