我正在尝试从 firebase firestore 获取图像,在尝试获取图像下载 url 时出现以下异常:
W/StorageUtil(10206):没有请求的身份验证令牌
(与此错误类似的问题无法解决问题)
尽管我的安全规则允许读取和写入,但我仍然收到此错误。
有什么想法这有什么问题吗?
获取图片url的代码:
static Future<dynamic> loadImage(BuildContext context, String image) async {
return await FirebaseStorage.instance.ref().child(image).getDownloadURL();
}
Run Code Online (Sandbox Code Playgroud)
调用这个loadImage函数:
Future<Widget> getImage(BuildContext context, String imgName) async {
Image image;
await FireStorageService.loadImage(context, imgName).then((value) {
print(value);
image = Image.network(value.toString(), fit: BoxFit.scaleDown);
return image;
});
}
Run Code Online (Sandbox Code Playgroud)
调用这个 getImage 函数:
child: FutureBuilder(
future: getImage(context, "/images/test1.jpg"),
...
)
Run Code Online (Sandbox Code Playgroud)
我的 firebase 存储规则:
rules_version = '2';
service firebase.storage {
match /images/{imageId} {
allow read,write;
}
}
Run Code Online (Sandbox Code Playgroud)
存储规则ss:
我是颤振的新手。我正在使用相机插件将相机添加到我的应用程序中。我收到此警告使用函数声明将函数绑定到名称。我该如何解决这个问题?
代码 -
Widget _cameraTogglesRowWidget() {
final List<Widget> toggles = <Widget>[];
final onChanged = (CameraDescription? description) {
if (description == null) {
return;
}
onNewCameraSelected(description);
};
Run Code Online (Sandbox Code Playgroud) flutter flutter-plugin flutter-widget flutter-ios flutter-android
无需调试即可运行:
A problem occurred configuring root project 'android'.
> Could not load compiled classes for build file 'D:\FLUTTER\task_manager\android\build.gradle' from cache.
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪:
A problem occurred configuring root project 'android'.
> Could not load compiled classes for build file 'D:\FLUTTER\task_manager\android\build.gradle' from cache.
* Exception is:
org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'android'.
at org.gradle.configuration.project.LifecycleProjectEvaluator.wrapException(LifecycleProjectEvaluator.java:75)
.
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71)
at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71)
at org.gradle.configuration.BuildOperationFiringProjectsPreparer.prepareProjects(BuildOperationFiringProjectsPreparer.java:40)
at org.gradle.initialization.DefaultGradleLauncher.prepareProjects(DefaultGradleLauncher.java:226)
at org.gradle.initialization.DefaultGradleLauncher.doClassicBuildStages(DefaultGradleLauncher.java:164)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)
at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:125)
at org.gradle.internal.invocation.GradleBuildController$1.create(GradleBuildController.java:71) …Run Code Online (Sandbox Code Playgroud) 我目前在 Flutter 版本 2.6.0-12.0.pre.406 的主频道中,每次运行应用程序时,我都会在控制台中收到这些奇怪的消息,我只想知道为什么以及它们的含义以及是否可以忽略这些。当我新创建一个应用程序并在不编辑任何内容的情况下运行它时,甚至会发生这种情况。所以即使我正在运行示例应用程序。
\n这是输出:
\nLaunching lib\\main.dart on ... in debug mode...\nRunning Gradle task 'assembleDebug'... 7,0s\n\xe2\x88\x9a Built build\\app\\outputs\\flutter-apk\\app-debug.apk.\nI/ViewRootImpl@963f43d[MainActivity](25682): [DP] cancelDraw io.flutter.embedding.android.FlutterActivityAndFragmentDelegate$2@ba09739 isViewVisible: true\nI/ViewRootImpl@963f43d[MainActivity](25682): [DP] cancelDraw io.flutter.embedding.android.FlutterActivityAndFragmentDelegate$2@ba09739 isViewVisible: true\nI/ViewRootImpl@963f43d[MainActivity](25682): [DP] cancelDraw io.flutter.embedding.android.FlutterActivityAndFragmentDelegate$2@ba09739 isViewVisible: true\nI/ViewRootImpl@963f43d[MainActivity](25682): [DP] cancelDraw io.flutter.embedding.android.FlutterActivityAndFragmentDelegate$2@ba09739 isViewVisible: true\nI/ViewRootImpl@963f43d[MainActivity](25682): [DP] cancelDraw io.flutter.embedding.android.FlutterActivityAndFragmentDelegate$2@ba09739 isViewVisible: true\nI/ViewRootImpl@963f43d[MainActivity](25682): [DP] cancelDraw io.flutter.embedding.android.FlutterActivityAndFragmentDelegate$2@ba09739 isViewVisible: true\nI/ViewRootImpl@963f43d[MainActivity](25682): [DP] cancelDraw io.flutter.embedding.android.FlutterActivityAndFragmentDelegate$2@ba09739 isViewVisible: true\nI/ViewRootImpl@963f43d[MainActivity](25682): [DP] cancelDraw io.flutter.embedding.android.FlutterActivityAndFragmentDelegate$2@ba09739 isViewVisible: true\nI/ViewRootImpl@963f43d[MainActivity](25682): [DP] cancelDraw io.flutter.embedding.android.FlutterActivityAndFragmentDelegate$2@ba09739 isViewVisible: true\nI/ViewRootImpl@963f43d[MainActivity](25682): [DP] cancelDraw io.flutter.embedding.android.FlutterActivityAndFragmentDelegate$2@ba09739 isViewVisible: true\nI/ViewRootImpl@963f43d[MainActivity](25682): [DP] cancelDraw io.flutter.embedding.android.FlutterActivityAndFragmentDelegate$2@ba09739 isViewVisible: true\nI/ViewRootImpl@963f43d[MainActivity](25682): [DP] cancelDraw io.flutter.embedding.android.FlutterActivityAndFragmentDelegate$2@ba09739 isViewVisible: …Run Code Online (Sandbox Code Playgroud) android android-studio flutter flutter-android flutter-debug
我正在尝试通过 flutter_downloader 下载一个虚拟的 .mp4(或任何文件)。这是我的代码片段
void mobileDownload(filename) async {
final status = await Permission.storage.request();
if (status.isGranted){ //user grants download permission
final storagePath = await getExternalStorageDirectory();
print(storagePath!.path);
final taskId = await FlutterDownloader.enqueue(
url: 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerEscapes.mp4',
savedDir: storagePath.path,
fileName: '$filename.mp4',
showNotification: true,
openFileFromNotification: true,
);
}
}
Run Code Online (Sandbox Code Playgroud)
通过编写通用回调(与此处提供的回调相同https://pub.dev/packages/flutter_downloader),我可以看到我的文件正在下载,进度显示为
D/DownloadWorker( 6368): Update too frequently!!!!, this should be dropped
I/flutter ( 6368): 97
D/DownloadWorker( 6368): Update notification: {notificationId: 10, title: testApp.mp4, status: 2, progress: 100}
D/DownloadWorker( 6368): insert description= _display_name=testApp.mp4 datetaken=1625756663182 mime_type=video/mp4 _data=/storage/emulated/0/Android/data/com.example.flutter_app/files/testApp.mp4 title=testApp.mp4 …Run Code Online (Sandbox Code Playgroud) 我有一个可用的 Flutter 应用程序,带有简单的注册表单。我尝试在 Android TV 中安装它。并且能够在 android 清单中看到它正在与电视相关的配置一起运行。
即使提供焦点后该按钮也不可单击。以下是场景。我的表单元素按以下顺序显示。
从电视遥控器,使用 dpat,我进行了如下导航。
对于焦点/选择失败我该怎么办?
附加最小的可重现代码。清单配置更改后,必须在 Android TV 模拟器或真实 Android TV 中执行此代码。
代码:
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Shortcuts(
shortcuts: <LogicalKeySet, Intent>{
LogicalKeySet(LogicalKeyboardKey.select): ActivateIntent(),
},
child: MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(),
),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage();
@override
_MyAppState …Run Code Online (Sandbox Code Playgroud) 我尝试使用 aTextPainter来获取 Text Widget 中字符串的最大长度,但是如果我调用 Painter,它会抛出!_needsLayout': is not true.异常。
例外
The following assertion was thrown building FeedPage(dirty, dependencies: [MediaQuery], state: _FeedPageState#9c489):
'package:flutter/src/painting/text_painter.dart': Failed assertion: line 546 pos 12: '!_needsLayout': is not true.
Run Code Online (Sandbox Code Playgroud)
使用 TextPainter 的方法
int maxCharCountToFit(String content) {
List<String> splitted = content.split(" ");
for (int i = splitted.length; i >= 0; i--) {
bool retry = TextPainter(
text: TextSpan(text: splitted.sublist(0, splitted.length - i).join(" "), style: pageTextStyle),
maxLines: 25,
textScaleFactor: MediaQuery.of(context).textScaleFactor,
textDirection: TextDirection.ltr,
).didExceedMaxLines ==
false; …Run Code Online (Sandbox Code Playgroud) 我是 Flutter 新手,仍在练习中
我正在创建一个启动屏幕,但启动屏幕的颜色没有改变
我的代码:
-launch_background.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/black" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>
Run Code Online (Sandbox Code Playgroud)
-main.dart
import 'package:flutter/material.dart';
import 'package:id_locker/Screens/HomeScreen.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: HomeScreen(),
); …Run Code Online (Sandbox Code Playgroud) 任务“:location:compileDebugKotlin”执行失败。
运行 Gradle 任务 'assembleDebug'... e: /Users/apple/.pub-cache/hosted/pub.dartlang.org/location-4.3.0/android/src/main/java/com/lyokone/location/FlutterLocationService .kt: (124, 1): 类 'FlutterLocationService' 不是抽象的,也没有实现抽象成员 public Abstract fun onRequestPermissionsResult(p0: Int, p1: Array<(out) String!>, p2: IntArray): Boolean 定义于io.flutter.plugin.common.PluginRegistry.RequestPermissionsResultListener e:/Users/apple/.pub-cache/hosted/pub.dartlang.org/location-4.3.0/android/src/main/java/com/lyokone/location /FlutterLocationService.kt: (258, 5): 'onRequestPermissionsResult' 不覆盖任何内容
失败:构建失败并出现异常。
编译错误。查看日志了解更多详情
尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。使用 --scan 运行以获得完整的见解。
在https://help.gradle.org获取更多帮助
4 秒内构建失败异常:Gradle 任务 assembleDebug 失败,退出代码为 1
flutter ×10
flutter-android ×10
android ×5
dart ×3
android-tv ×1
firebase ×1
flutter-ios ×1
fluttermap ×1