美文网首页Flutterflutter
Android 集成Flutter 组件

Android 集成Flutter 组件

作者: _小_小白 | 来源:发表于2019-11-05 14:09 被阅读0次

    初始Flutter

    Flutter 是 Google推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过 Dart语言开发 App,一套代码同时运行在 iOS 和 Android平台。 Flutter提供了丰富的组件、接口,开发者可以很快地为 Flutter添加 native扩展。同时 Flutter还使用 Native引擎渲染视图,这无疑能为用户提供良好的体验。

    搭建Flutter开发环境

    1.安装flutter https://flutterchina.club/get-started/install/

    Flutter集成到现有的Android应用中需要如下几个主要步骤:

    • 首先,创建Flitter module;
    • 创建或者已有Android项目中添加Flutter module依赖;
    • 编写Dart代码;
    • 在android中调用Flutter module;
    • 运行项目;
    1.创建Flutter module

    a.打开终端
    b.进入自己存放目录,输入命令 flutter create -t module xxxx (flutter文件名)


    WX20190605-152915@2x.png

    c.用Android studio 打开刚刚创建的flutter_module,可运行一下。说明已创建成功。在main.dart文件里面编写页面代码:


    WX20190605-160700@2x.png
    d.创建Android新项目或者在已有Android项目中添加依赖,打开Android项目的settings.gradle
    WX20190605-153622@2x.png
    e.app根目录build.gradle添加依赖
    WX20190605-154354@2x.png

    f.在android项目中需要添加activity里面添加Flutter View


    WX20190605-160109@2x.png
    再回到flutter中创建一个单独battery_widget.dart文件,代码如下
    class BatteryWidget extends StatefulWidget {
      @override
      _BatteryWidget createState() => _BatteryWidget();
    }
    class _BatteryWidget extends State<BatteryWidget> {
      String _batteryLevel = 'Battery level: unknown.';
      static const MethodChannel methodChannel =
          MethodChannel('com.lb.flutterhybridandroid');
      Future<void> _getBatteryLevel() async {
        String battertLevel;
        try {
          final int resulu = await methodChannel.invokeMethod('getBattertLevel');
          battertLevel = 'Battery level:$resulu.';
        } on PlatformException {
          battertLevel = 'Failed to get battery level.';
        }
        setState(() {
          _batteryLevel = battertLevel;
        });
      }
      @override
      Widget build(BuildContext context) {
        return Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Text(_batteryLevel),
              RaisedButton(
                child: const Text('Refresh'),
                onPressed: _getBatteryLevel,
              )
            ],
          ),
        );
      }
    }
    

    最后检查代码,runy一下,如出现下面这样,说明你以成功了。


    WX20190605-161630@2x.png

    相关文章

      网友评论

        本文标题:Android 集成Flutter 组件

        本文链接:https://www.haomeiwen.com/subject/ihrsbctx.html