我只是在教自己sqlite,所以当我能够删除父条目时,我很惊讶地看到我的foreign_key约束不起作用.然后我在阅读更多内容后了解到,对于每个会话,默认情况下,foreign_key的pragma是关闭的.看起来奇怪的是没有资源文件(例如,像vi的.exrc),你可以使用它来默认为每个会话设置编译指示,但很好.所以我必须重新编译sqlite3或者每次都设置它.
无论如何,我的问题是,在删除父级之后,有没有办法对外键约束进行完整性检查?也就是说,如果你在插入或删除等时打开了pragma,那么告诉sqlite运行与它最初运行时相同的逻辑?
我看到了一个"pragma integrity_check",但这只是在寻找腐败.
谢谢,贾斯汀
我注意到,当我使用 nginx 部署我的 flutter web 项目时,在执行“flutter build web”之后,如果我不删除缓存,旧文件仍然在我的 chrome 浏览器中。如果我部署更新,是否有办法强制用户自动刷新?
我正在使用基本滑块,我发现如何仅更新我想要更改的滑块主题数据部分,例如 trackHeight,但不幸的是,我不确定如何更新“trackShape”字段。这是我在主应用程序中更新轨道高度的操作,例如:
final SliderThemeData tweakedSliderTheme = Theme.of(context).sliderTheme.copyWith(
trackHeight: 22.0,
//trackShape: RectangularSliderTrackShape(), // How do I update this??
);
Run Code Online (Sandbox Code Playgroud)
我确实尝试在滑块小部件周围使用ClipRRect(),但没有效果。
这是一个滑块的简单页面:
import 'package:flutter/material.dart';
class RoomControl extends StatefulWidget {
@override
_RoomControlState createState() => _RoomControlState();
}
class _RoomControlState extends State<RoomControl> {
double _value = 0.0;
void _setvalue(double value) => setState(() => _value = value);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Name here'),
),
//hit Ctrl+space in intellij to know what are the options you can use in …Run Code Online (Sandbox Code Playgroud) 到目前为止,所有的挖掘都指向https://github.com/flutter-moum/flutter_hardware_buttons,但现在提到它已被弃用(见下文)。无论如何,我按照他们的示例进行了尝试,但它在我的 android 手机上也不起作用。
我正在编写一个应用程序,想要使用物理上下音量键来触发将音量控制发送到我使用的音频系统。这可能是 Flutter 的“新功能”请求吗?
我正在 Android 上进行测试(我将验证它在 iOS 上是否也相同)。
我的问题是,当我有一个显示条纹结帐页面的网页视图,并且我点击那里的文本条目以输入靠近底部(邮政编码)的内容时,虚拟键盘会覆盖网页视图,即使在网页视图。
看起来 webview 按预期占据了整个屏幕,但是当软键盘出现时 Flutter 我认为通常会为其腾出空间(缩小屏幕上显示的小部件)。Webview 似乎保持相同的大小。
我尝试了一种将网络视图放入具有动态高度的容器()中的技巧。它有点有效。代码如下,关键行是Container()的高度:
height: MediaQuery.of(context).size.height * (MediaQuery.of(context).viewInsets.bottom != 0 ? .7 : 1)
Run Code Online (Sandbox Code Playgroud)
但这会导致键盘混乱。例如,它以某种方式欺骗键盘不输入邮政编码的数字输入类型。它看起来像是在尝试,但在一瞬间就重新绘制到非数字键盘。
为什么Webview不支持手机上的软键盘?
这是我在有状态小部件中的构建:
@override
Widget build(BuildContext context) {
return SafeArea(
child: Stack(
children: [
initialUrl == null
? Container()
: Container(
height: MediaQuery.of(context).size.height * (MediaQuery.of(context).viewInsets.bottom != 0 ? .7 : 1),
child: WebView(
initialUrl: initialUrl,
javascriptMode: JavascriptMode.unrestricted,
onPageStarted: (controller) {},
onPageFinished: (controller) {
Future.delayed(Duration(milliseconds: 1234), () {
if (mounted) {
showLoading = false;
setState(() {});
}
}); …Run Code Online (Sandbox Code Playgroud) 我正在尝试将我的 GCP gcloud 函数(在 python 中)构建为每个函数的单独文件。从文档中听起来应该支持它,但是当我尝试使用 --source 作为文件名而不是目录时,它失败了。我做错了什么吗?
这是我使用的命令:
gcloud 函数部署 createAccount --runtime python38 --trigger-http --source=postgres/createAccount.py --region us-central1
我得到的错误是:
错误:(gcloud.functions.deploy)参数
--source:提供的路径不指向目录
但是,如果我将“createAccount”python 函数放入main.pypostgres目录中并使用此命令,该函数将完美部署:
gcloud 函数部署 createAccount --runtime python38 --trigger-http --source=postgres --region us-central1
这里看起来好像它应该接受选项中的文件名--source:
https://cloud.google.com/functions/docs/first-python
请参阅本节:
如果有办法不让 main.py 成为我所有云函数的一大块,有什么想法吗?
我正在使用BeagleBone,因为它没有内置的RTC和备用电池,所以每次重启都会丢失日期.我可以使用命令轻松设置日期:
/ usr/bin/ntpdate -b -s -u pool.ntp.org
但是,如果电源熄灭并重新开始,那么时间就会消失.最新的beaglebone Angstrom linux发行版附带的解决方案是在每半小时更新一次crontab行.但我更愿意在通电时运行一次命令.
我尝试将上面列出的这个命令放在带有@reboot行的crontab中,但是我相信在配置网络之前就已经运行了,或者其他什么都失败了,因为它没有让我在正确的时间拉动电源5分钟然后放入它回到beaglebone.
有没有办法使用ifconfig或类似的东西,只有在网络可用后才能从init.d运行脚本?
有没有办法让颤动中的“输入”键键盘事件默认为我的 AlertDialog 上的操作按钮之一?注意我指的是在有物理键盘的情况下在网络上使用 flutter。例如我有这个对话框:
Future<void> _confirmDelete(int index) async {
var fp = SessionInfo.of(context).myFloorplans.entries.toList()[index].value;
return showDialog<void>(
context: context,
barrierDismissible: false,
builder: (BuildContext context) {
return AlertDialog(
title: Text('Confirm Delete?'),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(8.0))),
content: SingleChildScrollView(
child: ListBody(
children: <Widget>[
Text("Please confirm deleting ${fp.name}"),
],
),
),
actions: <Widget>[
FlatButton(
child: Text('Cancel'),
onPressed: () {
Navigator.of(context).pop();
},
),
FlatButton(
child: Text('Delete'),
onPressed: () {
_deleteFloorplan(index);
Navigator.of(context).pop();
},
),
],
);
},
);
}
Run Code Online (Sandbox Code Playgroud)
有没有办法默认键盘上的“输入”键就像按下删除键一样?也许还不是最安全的 UI 体验,但主要只是要求了解这里的基础。
谢谢,贾斯汀
flutter ×5
beagleboard ×1
clock ×1
dart ×1
flutter-web ×1
foreign-keys ×1
gcloud ×1
hardware ×1
keyboard ×1
ntp ×1
pragma ×1
python ×1
sqlite ×1
volume ×1
webview ×1