我在我的 flutter 应用程序中使用 google_sign_in 进行身份验证。
我按照此处记录的步骤开始:
我按照建议获取 idToken 在服务器端执行身份验证。
这是我用来获取 idToken 的代码片段
_googleSignIn.onCurrentUserChanged.listen(
(GoogleSignInAccount account) {
setState(() {
developer.log("************Changing account");
_currentUser = account;
account.authentication.then((key){
developer.log("########### Changing token");
_userToken=key.idToken;
});
});
});
Run Code Online (Sandbox Code Playgroud)
当我发送 idToken(上面示例中的 _userToken)时,它在一段时间内工作正常,后来我在服务器端看到以下错误消息:
令牌已过期,1593370077 < 1593384191
看起来token是有过期时间的,过一段时间就会过期。
我尝试将上面的代码片段从 initState() 移至 build()。这是我的假设,如果我每次构建小部件时都调用它,我应该获得一个新令牌。那不起作用
我认为它可能起作用的原因是因为当我“运行.dart”(不是热重载)时它起作用。这让我认为将其移动到构建可能会起作用。没用
我的问题:刷新令牌或使用 google_sign_in 在 flutter 中获取新令牌的编程方式是什么。
感谢您的帮助!!
当我在颤振代码中使用以下行时:
print(Directory("/sdcard").list(recursive: true).listen((event) {print(event);}));
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
"[ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: FileSystemException: Directory listing failed, path = '/sdcard/' (OS Error: Permission denied, errno = 13)"
Run Code Online (Sandbox Code Playgroud)
我尝试将这些添加到清单选项卡下的 AndroidManifest.xml 中:
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Run Code Online (Sandbox Code Playgroud)
但它没有用。我也尝试在flutter clean之后重新运行它,但仍然得到相同的结果。
有人可以帮我解决这个问题。
我的主要目标是能够访问(读/写)android/ios 设备存储中存在的所有可访问目录。就像我们普通的手机文件管理器一样。
非常感谢您的回答。
我有一个非常简单的控件,我试图DropdownButton用几个TextFields.
当应用程序在模拟器中运行时,我收到一条错误消息
BOTTOM OVERFLOWED BY Infinity PIXELS
Run Code Online (Sandbox Code Playgroud)
该Stack Trace问题的提示并指向一些相关文档,但对 Flutter 来说非常新,我不确定需要更改哪些内容。
我已经根据有关类似错误的问题尝试了许多建议,但没有任何运气。
堆栈跟踪:
I/flutter (10708): ??? EXCEPTION CAUGHT BY RENDERING LIBRARY ??????????????????????????????????????????????????????????
I/flutter (10708): The following assertion was thrown during performLayout():
I/flutter (10708): RenderIndexedStack object was given an infinite size during layout.
I/flutter (10708): This probably means that it is a render object that tries to be as big as possible, but it was put
I/flutter (10708): inside another render object that allows its …Run Code Online (Sandbox Code Playgroud) 我一直在构建 flutter 应用程序有一段时间了,一切似乎都运行良好,但今天我尝试调用initState()statefulWidget 以便我可以进行 API 调用,但它返回一个我不熟悉的错误
我的代码:
class Home extends StatefulWidget {
final String header;
Home({Key key, this.header}): super(key: key);
@override
_HomeState createState() => _HomeState();
}
class _HomeState extends State<Home>{
@override
Widget build(BuildContext context) {
Top top;
bool _loading = true;
fetchData() async {
setState(() {
_loading = true;
});
//Fetch top Animes
var res = await http.get(Constants.topAnimes);
var decodedJson = jsonDecode(res.body);
print(decodedJson['top']);
top = Top.fromJson(decodedJson['top']);
print(top.toJson());
setState(() {
_loading = false;
});
}
@override
void initState() { …Run Code Online (Sandbox Code Playgroud) 我有收藏视图,用户可以下载 epub 文件并在下载完成后显示它。我使用 FolioReaderKit 打开 epub 文件,我也得到了正确的路径并且 epub 文件在那里。我正在使用 Alamofire 下载,但是我收到了一堆错误,
2016-11-04 18:02:28.304 indodragon[9482:74592] [SSZipArchive] Error: The file “EPUB.epub” couldn’t be saved in the folder “Documents” because a file with the same name already exists.
2016-11-04 18:02:28.305 indodragon[9482:74592] [SSZipArchive] Error: The file “EPUB.epub” couldn’t be saved in the folder “Documents” because a file with the same name already exists.
2016-11-04 18:02:28.306 indodragon[9482:74592] [SSZipArchive] Error: The file “EPUB.epub” couldn’t be saved in the folder “Documents”.
2016-11-04 18:02:28.320 indodragon[9482:74592] [SSZipArchive] Error: The …Run Code Online (Sandbox Code Playgroud) 我试过多次安装颤振,并且可以运行一次颤振医生,但是在关闭终端后我不能。不知道我是怎么做到的,这一直在屏幕上出现。
user@users-MacBook-Pro flutter % export PATH="$PATH: /Users/user/Desktop/flutter/bin"
user/users-MacBook-Pro flutter % flutter --version
zsh: command not found: flutter
user@users-MacBook-Pro flutter %
Run Code Online (Sandbox Code Playgroud)
所以我更改了路径,将 shell 更改为 -zsh,因为我使用的是 macOS Catalina,但似乎没有任何效果。我该怎么办?
C:\flutter\flutter_windows_v1.9.1+hotfix.2-stable\flutter\bin\flutter.bat --no-color build apk
Target file "lib\main.dart" not found.
Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud) 无法切换到 flutter beta 频道 C:\Users\vairo_drrrnuo\IdeaProjects\bridge>flutter channel beta
Switching to flutter channel 'beta'...
git: From https://github.com/flutter/flutter
git: f994b7697..9b9b543d9 beta -> origin/beta
git: + cb8832388...7cd39d661 dds_integration_take_2 -> origin/dds_integration_take_2 (forced update)
git: 15a28159b..c68758fab master -> origin/master
git: * [new tag] 1.19.0-4.2.pre -> 1.19.0-4.2.pre
git: error: The following untracked working tree files would be overwritten by checkout:
git: examples/flutter_view/ios/Podfile
git: packages/flutter_tools/lib/src/base/platform.dart
git: Please move or remove them before you switch branches.
git: Aborting
Switching channels failed with error code 1.
Run Code Online (Sandbox Code Playgroud)