小编Oma*_*rif的帖子

从url下载文件,保存到手机存储

我正在处理一个项目,该项目要求我从 URL 下载文件,一旦点击按钮,并将其存储到手机存储(可能是下载文件夹)。

关于如何做到这一点的任何想法?正在下载的文件也不总是相同的,可以是从图像到 pdf 的任何文件。

file download flutter

24
推荐指数
4
解决办法
6万
查看次数

Flutter/Dart 中的 TDD。如何减少启动时间

我尝试在 Dart 中为 Flutter 应用程序的业务逻辑进行测试驱动开发(TDD)。对于快速 TDD 周期,运行测试的启动时间感觉有点慢。在我的机器上大约是 4-5 秒。

我正在使用package:test/test.dart,因此无需将应用程序部署到设备上,并且测试可以在 Dart VM 上本地运行。测试本身运行得很快。

使用 Java 的 JUnit 和本地 Java VM 开发 Android 本机应用程序时,启动时间要快得多 < 1 秒。

有没有办法让 Dart 中的单元测试的启动时间也那么快?(无需购买速度更快的物理机)。

编辑: 我的 Dart 版本:

  • 颤振医生 -v: 2.0.0-dev.54.0.flutter-46ab040e58
  • Dart 插件使用:2.0.0-edge.c080951d45e79cd25df98036c4be835b284a269c 并且在我的颤振安装中:C:\flutter\bin\cache\dart-sdk

Dart 测试在 Flutter 项目中。我通过右键单击带有测试的文件或仅使用 IDE 中的“>”运行测试按钮,在 Android Studio 中启动 Dart 测试。然后 Android Studio 会生成一个运行配置,因此我可以使用键盘快捷键快速启动它。

在此处输入图片说明

tdd unit-testing dart flutter

23
推荐指数
1
解决办法
2700
查看次数

如何在Flutter中使用Bloc模式进行错误处理?

想象一下我正在使用集团来处理网络请求。如果请求失败,则根据平台的不同,处理失败的方法也会有所不同。在我的Web应用程序上,我想将用户重定向到错误页面,而在IOS应用程序上,我想显示一个对话框。

由于仅应使用bloc并共享它来处理业务逻辑,并且错误处理部分与业务逻辑无关,因此,我们应该请UI部分照顾错误处理。

UI可以将错误回调发送到块,并且当发生错误时,块将运行它。我们还可以通过在不同平台上发送不同的回调,以特定于平台的方式处理错误。

接下来是我的两个问题:

有没有更合适的方法可以做到这一点?

如何将回调发送到集团?

在flutter中,我们只能在initState生命周期方法之后访问bloc (因为我们是从builder上下文中获取bloc的,而后者仅在之后initState)。然后,我们只能在build方法中发送回调。

这样,每次重建时,我们都会重复向回调发送bloc(这些重复没有意义)。使用react,可以在生命周期(例如)中完成一次一次性初始化componentDidMount。在颤振中,我们如何达到只运行一次初始化的目标?

error-handling reactive-programming reactiveui flutter

15
推荐指数
1
解决办法
1727
查看次数

CSS动态宽度大于100%

我有一个父容器,它包含一个浮动项目列表.添加新的浮动项目时,父容器可以很好地向右扩展.

但是当我添加更多项目并且项目靠近窗口右侧时,新项目才会跳转到新行.相反,我希望它继续向右扩展,使我的父容器大于100%.

是否可以将容器宽度定义为max-width:infinite;?

要回答我自己的问题,我知道我可以制作最大宽度为5000%的东西,但我只是想知道是否有更好的解决方案.我认为页面的高度是最大宽度有点奇怪:无限; 并且页面的宽度不能具有相同的行为.

也许这只是一个愚蠢的问题,但无论如何我都会问:P.

css width

8
推荐指数
1
解决办法
5520
查看次数

如何使用jQuery同步CSS3动画事件和事件监听器

我试图找出一个可靠的,跨现代的浏览器方法,使用CSS3动画事件和事件监听器来获得对CSS3动画的微调控制.我知道可以做到这一点.可悲的是,尽管我在过去的2-3周内完成了所有的研究,但现在这已经超出了我的能力范围.

到目前为止,这是我的jsfiddle:http://jsfiddle.net/mvkMH/23/

这是我正在尝试做的事情:我有一个<ul>id #main包含<li>一个类的.box.当用户点击任何.box它将.move-y类添加到($this)- 它还同时将该.move-x类添加到剩余的列表项.当用户单击另一个时.box,所有现有的.move-y and .move-x类都将替换为.move-y-rvs and .move-x-rvs类.一直使用CSS3 Animation事件来保持一切完美同步.

为何选择CSS3动画事件?

  • CSS3动画在iOS上很快
  • 通过jQuery触发的CSS3动画允许你"重新启动"动画(如果已经播放)(https://css-tricks.com/restart-css-animation/)
  • 理论上,通过使用jQuery跟踪AnimationStart,AnimationIterationAnimationEnd事件,可以创建非常复杂和交互式的CSS3动画.

这是脚本应该在我的脑海中运作的方式 - 我无法让它在现实生活中工作;-)

  1. 单击.box元素后,选中#main以查找任何.move-x和.move-y类

  2. 如果检测到.move-x和.move-y类:

    • 用move-x-rvs和.move-y-rvs替换这些类
    • 使用.move-x-rvs和.move-y-rvs类将css 动画事件侦听器附加到元素
    • AnimationEnd Event上删除.move-x-rvs和.move-y-rvs类
    • AnimationName设置为空字符串(如果再次单击,则重置css3动画以再次播放)
    • 现在将.move-y类添加到$(this)
    • 将.move-x类添加到所有其他剩余列表项
  3. 如果未检测到.move-x和.move-y:

    • 将.move-y类添加到$(this)
    • 将.move-x类添加到所有其他剩余列表项

4 - 动画事件监听器功能应附加现代浏览器的前缀(如本例所示 - 如何通过JavaScript重新触发WebKit CSS动画?)

再次,到目前为止,这是我的jsfiddle:http: …

css jquery animation

8
推荐指数
1
解决办法
2692
查看次数

在应用关闭以显示Notification和Hit API时,在Flutter中运行后台进程,

我试过了 background_fetch: '^0.1.0'

和alarm_manager软件包,但是当应用程序关闭时,它已从最近的应用程序中删除,并且不起作用。我需要每15分钟点击一次API n如果有数据,则显示通知

当App关闭时,任何解决方案都无需编写本机代码。我不知道iOS开发,我知道Android我不需要Firebase推送通知

android dart flutter

8
推荐指数
1
解决办法
447
查看次数

无法找到“Frameworks/App.framework/flutter_assets”的资产路径

我正在尝试在模拟器( iPhone 8 )上运行我的 flutter 应用程序,但是当应用程序午餐时,我得到的只是一个空白的白屏。像这样:

在此处输入图片说明

终端输出为:

Running pod install...                                             40.0s
Running Xcode build...                                                  

 ??Assembling Flutter resources...                          20.4s
 ??Compiling, linking and signing...                        57.0s
Xcode build done.                                           288.8s
        path: satisfied (Path is satisfied), interface: en1
Failed to find assets path for "Frameworks/App.framework/flutter_assets"
Configuring the default Firebase app...
        path: satisfied (Path is satisfied), interface: en1
        path: satisfied (Path is satisfied), interface: en1
Configured the default Firebase app __FIRAPP_DEFAULT.
[VERBOSE-2:engine.cc(127)] Engine run configuration was invalid.
[VERBOSE-2:shell.cc(437)] Could not launch engine with configuration.
https://firebase.google.com/docs/cloud-messaging/ios/client#method_swizzling_in_firebase_messaging …
Run Code Online (Sandbox Code Playgroud)

xcode dart flutter

6
推荐指数
2
解决办法
4080
查看次数

无法找到捆绑的 Java 版本

我正在使用 flutter,cmd 显示当我尝试运行 flutter doctor 时出现错误

\n

这是cmd 的结果

\n
   [[\xe2\x88\x9a] Flutter (Channel stable, v1.9.1+hotfix.6, on Microsoft Windows [Version 10.0.18362.476], locale en-US)\n    \n    [!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)\n        ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses\n    [!] Android Studio (version 3.3)\n        X Unable to determine bundled Java version.\n    [\xe2\x88\x9a] Android Studio (version 3.5)\n    [\xe2\x88\x9a] VS Code (version 1.40.1)\n    [\xe2\x88\x9a] Connected device (1 available)\n
Run Code Online (Sandbox Code Playgroud)\n

android flutter

5
推荐指数
1
解决办法
7429
查看次数

Firestore 的 GeoFlutterFire Flutter 插件不返回距离字段

我正在使用GeoFlutterFire,这是 Flutter 的一个插件,它筛选指定 GeoFirePoint 附近记录的集合。
距离键应该与 Firestore 一起返回,<DocumentSnapshot>s但没有返回,只有默认键。当我如下寻找它时,它返回空值。钥匙不存在。

  1. 我试过更改模拟器 GPS 位置,然后更改 usersAddressGeoFirePoint,但不走运。
  2. 关于 GeoFire 是创建此字段还是需要它作为 Firestore 字段预先存在,说明不清楚。我尝试使用虚拟值手动创建 Firestore 字段,然后我从下载中获得的值不是两点之间的距离,geopoint而是它在 Firestore 上设置的虚拟值。

这是非常令人沮丧的,我需要距离以便我可以在应用程序的卡片上显示它,我的代码非常接近插件的示例代码,所以我不明白为什么它不起作用。

GeoFirePoint usersAddressGeoFirePoint = 
        geo.point(latitude: 56.088944, longitude: -4.151800);
    
localJobsStream = geo.collection(collectionRef: myFirestore.collection('JobsMeta'))
            .within(center: usersAddressGeoFirePoint, radius: 1000, field: 'position', strictMode: true);
    
localJobsStream.listen((List<DocumentSnapshot> documentList) {
    ${documentList[0].data.keys.contains('distance')}");
    }
Run Code Online (Sandbox Code Playgroud)

geofire flutter google-cloud-firestore

5
推荐指数
1
解决办法
1368
查看次数