我已经构建了一个带有颤动的应用程序,就像提醒一样.
即使应用程序已关闭,如何向用户显示通知?
mobile-application push-notification apple-push-notifications android-notifications flutter
我在屏幕上有一个RaisedButton小部件和一个AnimatedContainer小部件,想法是按下RaisedButton的宽度AnimatedContainer会在给定的持续时间内减少。AnimatedContainer我需要做的所有状态的文档是将小部件的宽度声明为变量,然后setState(() {})在更改值后,它将在持续时间内自动更改为该值。我试图实现这一点,并且在按下RaisedButton变量值时肯定会发生变化(基于按下后打印它的值),但是小部件的宽度不会随之改变。我错过了一些明显的东西吗?
我的微件在容器内PageView的和我的代码RaisedButton和AnimatedContainer如下:
RaisedButton (
onPressed: () {
setState(() {
loginWidth = 70.0;
});
},
),
AnimatedContainer (
duration: new Duration (seconds: 2),
width: loginWidth,
height: 40,
color: Colors.red,
)
Run Code Online (Sandbox Code Playgroud)
这是我的小部件树:
pages.add(
Container(
color: chSecondary,
child: Stack(
children: <Widget>[
Container (
child: Align (
child: Image(image: AssetImage("graphics/signin.png")),
alignment: Alignment.bottomCenter,
),
),
Form(
key: _formKey,
child: new Container(
padding: EdgeInsetsDirectional.only(top: 100, …Run Code Online (Sandbox Code Playgroud) Flutter 默认使用C:\Users\me\\.gradle文件夹,我想将该文件夹移动到D:\\.gradle. 只需移动文件夹就会破坏 Flutter,因为它仍然会查找以前的位置。
我将gradle的user home设置为D:\\.gradle(使用gradle控制台),但似乎flutter不受其影响。我想我应该对两者之一进行更改:
flutter\packages\flutter_tools\gradle\flutter.gradle
my_flutter_app\android\gradlew.bat(或任何其他 gradle 文件)
但我找不到在哪里可以改变它。
任何帮助将不胜感激。
我正面临一个挑战,我有三个数组,每个数组只包含数字.我有一个函数get_sum,函数接收2个参数,一个数组数组和一个数字.这个数字是我希望通过从每个数组中求和一个或多个数来获得的总和,例如:如果我有2个数组[[1,2,3], [1,2,3]]而第二个参数是4
函数将返回将总和为4的数量的组合数.案件:
1+3 = 4
2+2 = 4
3+1 = 4
Run Code Online (Sandbox Code Playgroud)
所以函数将重新调整int 3
我编写了下面的函数,它工作得很好,但我正在寻找一种方法来提高它的效率.目前,如果我有少于6个数组,它将工作,如果我有一百个数组,我希望它工作.有没有可以帮助我的阵列功能?
这是代码:
<?php
function get_sum ($dice, $sum) {
$sumcount = array();
$num_of_dice = count($dice);
foreach($dice[0] as $die1){
foreach($dice[1] as $die2){
if($num_of_dice == 5){
foreach($dice[2] as $die3){
foreach($dice[3] as $die4){
foreach($dice[4] as $die5){
if($die1 + $die2 + $die3+ $die4 + $die5 == $sum){
$good_res = array();
array_push( $good_res, $die1, $die2, $die3, $die4, $die5);
array_push($sumcount, $good_res);
}
}
}
}
}
if($num_of_dice == …Run Code Online (Sandbox Code Playgroud) Dart中有一个函数等效于Goto函数,在其中我可以将程序控件转移到指定标签。
例如:
var prefs = await SharedPreferences.getInstance();
if (prefs.getString("TimetableCache") == null || refreshing) {
var response = await http.get(
Uri.encodeFull("A website",);
data = JsonDecoder().convert(response.body);
try {
if (response != null) {
prefs.setString("TimetableCache", response.body);
}
} catch (Exception) {
debugPrint(Exception);
}
} else {
data = prefs.getString("TimetableCache");
}
if (data != null) {
try {
//Cool stuff happens here
} catch (Exception) {
prefs.setString("TimetableCache", null);
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个http请求,在继续“酷炫的东西”之前,我有一个try catch,它可以查看机器的TimetableCache位置是否有东西SharedPreferences。当它捕获到异常时,我希望有一个goto方法将其再次发送回第一行以重试获取数据。
goto refresh;例如,在c#中,您可以使用,然后无论标识符refresh:位于何处,代码都将开始执行。
有飞镖版本吗?
我正在使用userdefaults来保存未知长度的十进制值(即51000000000).Userdefaults不允许保存长十进制数,因此我将该值转换为字符串并保存.然后我想重新加载数字但是我一直无法找到将字符串值转换为小数的方法.我该怎么做呢?
编辑:
将值设置为userdefaults的代码:
let savedValues = UserDefaults.standard
savedValues.setValue(String(describing: buildingConstants.jitterClickConstantCost), forKey:"jitterClickCost")
struct buildingConstants {
static var jitterClickConstantCost = Decimal()
}
Run Code Online (Sandbox Code Playgroud)