如何使用路由框架Fluro
如何使用路由框架Fluro
小编给大家分享一下如何使用路由框架Fluro,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
在Flutter应用开发过程中,除了使用Flutter官方提供的路由外,还可以使用一些第三方路由框架来实现页面管理和导航,如Fluro、Frouter等。
Fluro作为一款优秀的Flutter企业级路由框架,Fluro的使用比官方提供的路由框架要复杂一些,但是却非常适合中大型项目。因为它具有层次分明、条理化、方便扩展和便于整体管理路由等优点。
那我们怎么使用这个优秀的 框架呢?跟我来
还有BATJ、字节跳动面试专题,算法专题,高端技术专题,混合开发专题,java面试专题,Android,Java小知识,到性能优化.线程.View.OpenCV.NDK等已经上传到了的我的GitHub
我的GitHub学习地址:https://github.com/Meng997998/AndroidJX点下star一起学习
使用Fluro之前需要先在pubspec.yaml文件中添加Fluro依赖,如下所示。
dependencies:fluro:"^1.5.1"
如果无法使用上面的方式添加Fluro依赖,还可以使用git的方式添加Fluro依赖,如下所示。
dependencies:fluro:git:git://github.com/theyakka/fluro.git
成功添加Fluro库依赖后,就可以使用Fluro进行应用的路由管理与导航开发了。为了方便对路由进行统一的管理,首先需要新建一个路由映射文件,用来对每个路由进行管理。如下所示,是路由配置文件route_handles.dart的示例代码。
import'package:fluro/fluro.dart';import'package:flutter/material.dart';import'package:flutter_demo/page_a.dart';import'package:flutter_demo/page_b.dart';import'package:flutter_demo/page_empty.dart';//空页面varemptyHandler=newHandler(handlerFunc:(BuildContextcontext,Map<String,List<String>>params){returnPageEmpty();});//A页面varaHandler=newHandler(handlerFunc:(BuildContextcontext,Map<String,List<Object>>params){returnPageA();});//B页面varbHandler=newHandler(handlerFunc:(BuildContextcontext,Map<String,List<Object>>params){returnPageB();});
完成基本的路由配置后,还需要一个静态的路由总体配置文件,方便我们在路由页面中使用。如下所示,是路由总体配置文件routes.dart的示例代码。
import'package:fluro/fluro.dart';import'package:flutter_demo/route_handles.dart';classRoutes{staticStringpage_a="/";//需要注意staticStringpage_b="/b";staticvoidconfigureRoutes(Routerrouter){router.define(page_a,handler:aHandler);router.define(page_b,handler:bHandler);router.notFoundHandler=emptyHandler;//空页面}}
在进行路由的总体配置时,还需要处理不存在的路径情况,即使用空页面或者默认页面进行代替。同时,需要注意的是应用的首页一定要用“/”进行配置。
为了方便使用,还需要把Router进行静态化,这样在任何一个页面都可以直接调用它。如下所示,是application.dart文件的示例代码。
import'package:fluro/fluro.dart';classApplication{staticRouterrouter;}
完成上述操作后,就可以在main.dart文件中引入路由配置文件和静态化文件了,如下所示。
import'package:fluro/fluro.dart';import'package:flutter_demo/routes.dart';import'application.dart';voidmain(){Routerrouter=Router();Routes.configureRoutes(router);Application.router=router;runApp(MyApp());}classMyAppextendsStatelessWidget{@overrideWidgetbuild(BuildContextcontext){returnMaterialApp(title:'DemoApp',onGenerateRoute:Application.router.generator,);}}
如果要在跳转到某个页面,只需要使用Application.router.navigateTo()方法即可,如下所示。
Application.router.navigateTo(context,"/b");//b为配置路由
运行上面的示例代码,效果如下图所示。
可以发现,Fluro虽然使用上相比Flutter的Navigator要繁琐,但是对于中大型项目却非常适合,它的分层架构也非常方便项目后期的升级和维护,使用时可以根据实际情况进行合理的选择。
以上是“如何使用路由框架Fluro”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注恰卡编程网行业资讯频道!