Android 集成Flutter 组件
2019-11-05 本文已影响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