首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Flutter响应式编程:Streams和BLoC

用我做的伪应用程序作为一个例子,简而言之,它允许用户从在线目录中查看电影列表,按类型和发布日期过滤它们,标记/取消标记为收藏夹。...从值,事件,对象,集合,映射,错误或甚至另一个流,任何类型的数据都可以由Stream传递 。 ### 我怎么知道Stream传达的东西?...关于这种通用BlocProvider的一些解释 首先,如何将其作为provider使用?...ApplicationBloc(在所有内容之上),负责提供所有电影类型的列表; 2.FavoriteBloc(就在下面),负责处理“收藏夹”的概念; 3.MovieCatalogBloc...,收藏夹选择,访问收藏夹以及在后续页面中显示电影详细信息; 3.ListOnePage:类似于ListPage,但电影列表显示为水平列表,下面是详细信息; 4.

4.2K90

Flutter 构建完整应用手册-持久化

建立 在我们开始之前,我们需要将shared_preferences插件添加到我们的pubspec.yaml文件中: dependencies: flutter: sdk: flutter...有关Android上共享首选项的更多信息,请访问Android开发人员网站上的共享首选项文档。...这可用于跨应用程序启动持续保存数据或从互联网上下载数据并保存以供以后脱机使用。 为了将文件保存到磁盘,我们需要将path_provider插件与dart:io库结合使用。...路线 找到正确的本地路径 创建对文件位置的引用 将数据写入文件 从文件中读取数据 1.找到正确的本地路径 在这个例子中,我们将显示一个计数器。...MethodChannel是Flutter用来与主机平台进行通信的类。 在我们的测试中,我们无法与设备上的文件系统进行交互。 我们需要与我们的测试环境的文件系统进行交互!

1.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Flutter Http网络操作实用教程

    在这篇文章中,将向大家分享Flutter网络操作的一些实用知识和技巧,包括如何用Http库做get请求?、如何用Http库做post请求?、如何将Response转换成Dart object?...,以及如何将请求结果展示在界面上?等。 在大家Flutter开发环境过程中遇到无法解决的问题可以在课程问答区进行提问,课程老师会对你进行辅导和帮助; 目录 如何用Http库做get请求?...网络请求是开发APP必不可少的一部分,比如获取用户订单数据,获取商品列表,提交表单等等都离不了网络请求,那么在Flutter中如何进行网络请求呢?...它用于表示未来某个时间可能会出现的可用值或错误; http.Response:类包含一个成功的HTTP请求接收到的数据; 在上一节讲解了Future的用法,以及如何从Future中获取服务端具体的返回数据...参考资料 Flutter从入门到进阶实战携程网App

    2.2K10

    Flutter 库:强大的工具及扩展——nb_utils

    Flutter 库:强大的工具及扩展——nb_utils 一、概述 1、简介 flutter_nb_utils是一个Flutter开发工具包,提供了各种实用方法、小部件扩展和工具函数,旨在提高开发效率并简化常见任务的实现...2、功能 Useful Methods: 介绍了一些有用的方法。 Use of TextStyle: 文本样式的使用。 Shared Preference Example: 共享首选项的示例。...MaterialYou Theme: 材料你主题的介绍。 Decorations: 装饰品的使用方法。 Widgets: Flutter中常用的小部件介绍。...Extensions: 扩展方法的使用和介绍。 String Extensions: 字符串的扩展方法。 bool Extensions: 布尔类型的扩展方法。...int Extensions: 整数的扩展方法。 List Extensions: 列表的扩展方法。 num Extensions: 数值的扩展方法。

    4700

    开始使用-编写你的第一个Flutter应用程序 顶

    这个类将保存随着用户滚动而无限增长的生成的单词对,以及最喜欢的单词对,因为用户通过切换心脏图标来将它们从列表中添加或删除。 你会一点一点地建立这个类。...lib/main.dart 第5步:添加交互性 在这一步中,您将为每一行添加可点击的心脏图标。 当用户点击列表中的条目,切换其“收藏”状态时,该词语配对被添加或从一组保存的收藏夹中移除。...你现在应该在每一行看到开放的心,但它们还没有互动。 5.在_buildRow函数中让心灵可点击。 如果单词条目已被添加到收藏夹中,再次点击它将其从收藏夹中删除。...1.向RandomWordsState的构建方法中的AppBar添加列表图标。 当用户点击列表图标时,包含收藏夹项目的新路线被推送到导航器,显示该图标。...最喜欢的一些选择,并点击应用栏中的列表图标。 新路线显示包含收藏夹。 请注意,导航器会在应用栏中添加一个“返回”按钮。 你不必显式实现Navigator.pop。 点击后退按钮返回到主页路由。 ?

    9.5K20

    Swift 中 User Defaults 的读取和写入

    前言 User Defaults 是 Swift 应用程序存储在应用启动之间保持的首选项的首选解决方案。它是由属性列表(plist)文件支持的键-值存储。...我强烈建议从一开始就使用这种技术,即使现在可能没有共享首选项的需要,但如果你添加需要从主应用程序中读取或写入首选项的扩展,以后你会感谢自己的。...User Defaults 存储数据类型 属性列表必须支持你存储在 User Defaults 中的对象。...User Defaults 支持以下类型: 数据 字符串 数字(NSNumber) 日期 数组 字典 布尔值 如果你的类型不在此列表中,你需要找到一种将其转换为任何受支持类型的方法。...用于跨平台的 CloudKit 如果希望首选项可以从安装了你的应用程序的其他 Apple 设备访问,请考虑使用 NSUbiquitousKeyValueStore。

    31520

    Flutter

    因为FlatButton的类型与Element树中相对应位置的Element的类型不同,Flutter将会从各自的树上删除这个Element和相对应的ContainerRender,然后Flutter将会重建与...Flutter 通过控件树中的每个控件创建不同类型的渲染对象,组成渲染对象树。而渲染对象树在 Flutter 的展示过程分为四个阶段:布局、绘制、合成和渲染。...布局 Flutter 采用深度优先机制遍历渲染对象树,决定渲染对象树中各渲染对象在屏幕上的位置和尺寸。...图片缓存只会在运行期间生效,也就是只缓存在内存中。如果想要支持缓存到文件系统,可以使用第三方的CachedNetworkImage控件。...InheritedWidget InheritedWidget 是 Flutter 中的一个功能型 Widget,适用于在 Widget 树中共享数据的场景。

    1.9K40

    《Flutter》-- 6.高级组件

    6.1.1 Scrollable组件 在Flutter中,一个可滚动的组件直接或间接包含一个Scrollable组件,它是可滚动组件的基础组件。...在实际使用过程中,Flutter提供了SliverList、SliverGrid等可滚动组件的Sliver版本。...:视图窗口内部长度,大小等于屏幕显示的列表长度; extentAfter:列表中未滑入视图窗口部分的长度; atEdge:是否滚动到了可滚动组件的边界。...bool addAutomaticKeepAlives = true,//是否将列表项包裹在AutomaticKeepAlive组件中,默认值为true,表示列表项滑出视图窗口时不会被垃圾回收,会保存之前的状态...bool addRepaintBoundaries = true,//是否将列表项包裹在RepaintBoundary组件中,默认值为true,可以避免列表项的重绘,提高渲染的性能。

    10.7K20

    FlutterUnit 内测开启,收藏集同步功能上线

    FlutterUnit 后端支持 FlutterUnit 经过 10 个月的不断迭代功能,如今已经从一个单击应用 逐渐 网络化,FlutterUnit 也终于有了自己的后端服务 flutter_unit_server...分为两个按钮,左边是 上传数据,上传数据后,该用户的收藏集信息会被记录到服务器中。 右边是 同步数据,会从服务器中获取该用户的收藏信息,进行数据同步。...珍藏组件 珍藏组件的标签 ? ? ---- 4.收藏集的操作 FlutterUnit 中的收藏集是可以随意删除、修改、新建的。在同步之后,这些收藏的数据将会被固化在服务器中。...以后也有望在多个平台中共享,也就是一份数据,多端共享。...---- 7.FlutterUnit 展望 FlutterUnit 如今已经集录了 311 个 Flutter 原生组价,如今收藏夹的同步功能完成,大家可以随意地对这些组件进行自己的分类收藏。

    76041

    在 Flutter 中使用 NavigationRail 和 BottomNavigationBar【Flutter专题33】

    成员之一,专注于大前端技术的分享,包括Flutter,鸿蒙,小程序,安卓,VUE,JavaScript等。”...本文将向您展示如何使用NavigationRail和BottomNavigationBar在 Flutter 中创建自适应布局。我们将浏览一下这个概念,然后通过一个完整的例子来在实践中应用这个概念。...收藏夹和设置。...以下是它的工作原理: 截图 chip 代码 这是生成上述应用程序的完整代码(带有解释): // main.dart import 'package:flutter/material.dart'; void...考虑到这些知识,您可以为从智能手机到平板电脑和笔记本电脑的各种设备构建更直观、更有吸引力的应用程序。因此,您的应用程序将获得越来越多的用户,并有更大的成功机会。

    2.2K50

    WKWebView

    6,WKWebView是多进程组件,这意味着会从APP内存中分离内存到单独的进程中。...网页视图的后退列表,即之前访问过的web页面的列表。 canGoBack。布尔值,指示后退列表中是否有可被导航到的后退项。 canGoForward。布尔值,指示后退列表中是否有可被导航到的前进项。...导航到后退列表中的后腿项中。 - goForward。导航到后退列表中的前进项中。 - goToBackForwardListItem:。导航到后退列表中的某一个网页项,并将其设置为当前项。...导航到后退列表的后退项中。 - goForward。导航到后退列表的前进项中。 - reload。重新加载当前页面。 - reloadFromOrigin。...配置新的web视图的属性 applicationNameForUserAgent。在用户代理字符串中使用的应用程序的名称。 preferences。web视图要使用的首选项对象。

    6K20

    Flutter 像素编辑器#02 | 配置编辑

    这里拿是否展示网格的这条功能需求,介绍一下如何处理: 目前功能并不是很复杂,使用 Flutter 内置的 InheritedNotifier 来共享 ProjectConfigLogic 即可。...; } 然后再需要共享数据组件们的上层嵌套 ProjectConfigScope,来达到向子树共享数据的目的: ps:之前在 《 Flutter 组件集录 | InheritedNotifier 内置状态管理组件...对于是否显示网格来说 Checkbox 的 value 可以访问 configLogic 中的数据;点击事件 onChanged 中,通过 configLogic 对象触发 toggleShowGrid...如下定义 PixPaintLogic 来维护像素点列表 _pixCells,以及画笔颜色 _paintColor。这样命中像素点数据变化逻辑,就可以写在 PixPaintLogic 中。...所以只要将两个可监听的,业务逻辑对象传入画板中即可: 在共享区域的子树,有上下文的地方,就可以得到业务逻辑对象。

    25210

    Flutter & GLSL - 叁 | 变量传参

    Flutter & GLSL 系列文章: 《Flutter & GLSL - 壹 | Shader 让绘制无限强大》 《Flutter & GLSL - 贰 | 从坐标到颜色》 《Flutter & GLSL...从尺寸入参开始说起 上一篇介绍了,在着色器中坐标和颜色的关系,将坐标归 1 后留下一个问题: 如何让着色器代码中的 size 不写死,由外界传递呢?...纹理图片传参 下面来看一下如何 Flutter 中如何将一张图片数据作为入参传递为着色器代码,比如把一张可爱女孩的照片展示到屏幕上: 着色器代码中,通过 uniform 声明 sampler2D 类型的对象表示贴图变量...中也是通过 setImageSampler 传入 ui.Image 对象作为贴图的数据,索引顺序从 0 开始,如果由多张图片,依次计数。...,Flutter 就可以在交互过程中完成很多实用的功能,比如图片的特效处理,绚丽图片的生成。

    15310

    【源码分析】系列之 InheritedWidget

    = 判断是否相等的时候判断的是两个对象的内存地址,下面将 UserInfo 中 == 方法去掉, class UserInfo { String name; int age; UserInfo...flutter: F didChangeDependencies flutter: F build 实际返回了 true,因为前后 _userInfo 对象引用发生了变化,在 UserInfo 中重写..., InheritedWidget 组件更新时可以更具此列表通知子组件。...通过上面的源码解析,子组件获取共享数据时,实际是直接在 _inheritedWidgets 集合中匹配的,通过断点也可以查看其中的内容: 总结 通过上面的分析,InheritedWidget 组件流程如下...子组件执行 dependOnInheritedWidgetOfExactType 方法时,从 _inheritedWidgets 集合中获取指定 InheritedWidget 类型的父组件,并将当前组件注册到

    1.1K20

    Flutter 命令本质之 Flutter tools 机制源码深入分析

    ,我们执行任何 flutter 命令的本质都是把参数传递到了FLUTTER_SDK_DIR/packages/flutter_tools/bin/flutter_tools.dart源码的 main 方法中...flutter执行的命令参数列表全部加入列表,类似命令模式 List generateCommands({ @required bool verboseHelp,...await globals.isRunningOnBot; //2、创建runner对象实例,并把上一片段代码中步骤2方法返回的FlutterCommand列表追加进runner中 final...,接着把所有支持的 FlutterCommand 列表加入 runner 对象中,然后调用了 runner 的 run 方法,所以我们现在查看packages/flutter_tools/lib/src...= topLevelResults; //2、前面分析过的,runner中添加的支持命令列表 var commands = _commands; //3、定义一个Command

    1.4K00

    Flutter跨平台移动端开发丨Widget、Element、State、状态管理

    使用前需要先引入依赖: import 'package:flutter/cupertino.dart'; 由于 Material 和 Cupertino 都是在基础 widget 库之上的,所以如果你的应用中引入了这两者之一...State 的生命周期 initState:当前 widget 对象插入 widget树中时调用 didChangeDependencies:当前 State 对象的依赖项发生变化时调用 build:绘制当前界面布局时调用...reassemble:使用热重载时调用 didUpdateWidget:widget 配置内容有变动重构时调用 deactivate:当前 widget 对象从 widget 树中移出时调用 dispose...:当前 widget 对象从 widget 树中永久删除时调用 名称 返回值/类型 意义 context read-only BuildContext The location in the tree...本身管理 状态被不同 widget 共享,由他们共同的父 widget 管理 widget 管理自己的 state /** * @des 管理自身状态 * @author liyongli 20190410

    1.8K50
    领券