flutter_boost接入及分析

2019-09-12

文章目录

        • 集成过程
          • 添加依赖
          • 在flutter_nodule侧
          • 在原生Android侧
        • 尝试
        • flutter_boost流程
          • 在flutter中打开flutter或者原生
          • 在flutter中关闭页面

flutter_boost 地址:https://github.com/alibaba/flutter_boost
集成之后的项目地址:https://github.com/huangyuanlove/flutter_boost_demo
flutter版本: v1.5.4-hotfix.2
flutter_boost版本:0.1.52

集成过程

前提:项目已经集成flutter,并且可以运行

添加依赖

根据官方说法:
打开pubspec.yaml并将以下行添加到依赖项:

flutter_boost: ^0.1.52

或者可以直接依赖github的项目的版本,Tag,pub发布会有延迟,推荐直接依赖Github项目


flutter_boost:
        git:
            url: 'https://github.com/alibaba/flutter_boost.git'
            ref: '0.1.52'
            

然后 flutter packages get一下

在主工程的build.gradle中依赖一下
implementation project(path: ':flutter_boost'),官方没有提这个,但是我在项目中不添加这个依赖,找不到对应的类

在flutter_nodule侧

main.dart中注册一下路由,过程和使用命名路由相似


class _MyAppState extends State<MyApp> {
   
  @override
  void initState() {
   
    super.initState();

    FlutterBoost.singleton.registerPageBuilders({
   
      'first': (pageName, params, _) => FirstRouteWidget(),
      'second': (pageName, params, _) => SecondRouteWidget(params),
      'tab': (pageName, params, _) => TabRouteWidget(),
      'flutterFragment': (pageName, params, _) => FragmentRouteWidget(params),

      ///可以在native层通过 getContainerParams 来传递参数
      'flutterPage': (pageName, params, _) {
   
        print("flutterPage params:$params");

        return FlutterRouteWidget();
      },
    });
  }

  @override
  Widget build(BuildContext context) {
   
    return MaterialApp(
        title: 'Flutter Boost example',
        builder: FlutterBoost.init(postPush: _onRoutePushed),
        home: Container());
  }

  void _onRoutePushed(
      String pageName, String uniqueId, Map params, Route route, Future _) {
   
  }
  

其中 FirstRouteWidgetSecondRouteWidgetTabRouteWidgetFragmentRouteWidgetFlutterRouteWidget代码可以在s

你可能感兴趣的:(Flutter,android,android,dart,flutter,fluter,boost)