- 创建FFI plugin summation,默认创建的FFI plugin是求两个数的和
flutter create --template=plugin_ffi summation --platforms=android,ios,ohos
flutter create --org com.example my_application
- 在my_application项目中文件pubspec.yaml引用summation
summation:
path: /Users/administrator/Desktop/workspace/summation
- my_application中调用summation
import 'package:flutter/material.dart';
import 'package:summation/summation.dart' as summation;
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
int sumResult = 0;
int sumAsyncResult = 0;
@override
void initState() {
super.initState();
sumResult = summation.sum(1, 2);
summation.sumAsync(3, 4).then((value) {
sumAsyncResult = value;
setState(() {
});
});
}
@override
Widget build(BuildContext context) {
const textStyle = TextStyle(fontSize: 25);
const spacerSmall = SizedBox(height: 10);
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('my_application调用ffiplugin'),
),
body: SingleChildScrollView(
child: Container(
padding: const EdgeInsets.all(10),
child: Column(
children: [
Text(
'同步求和sum(1, 2) = $sumResult',
style: textStyle,
textAlign: TextAlign.center,
),
spacerSmall,
Text(
'异步求和sum(3, 4) = $sumAsyncResult',
style: textStyle,
textAlign: TextAlign.center,
),
],
),
),
),
),
);
}
}