需求问题:监听手机定位,定位更新后,将经纬度信息同步给 Flutter 。
需求分析:这个需求是典型的实现 Native → Flutter 的数据传递
的场景。可以通过@UniFlutterModule()
模板实现。
需求实现:这个需求的主要工作就是设计协议接口
。下面是模板实现:
我们在 Unify 宿主工程的 interface 中创建模板文件location_info_service.dart
,并添加内容:
import 'package:unify/api/api.dart';
import 'location_info_model.dart';
@UniFlutterModule()
abstract class LocationInfoService {
/// 更新定位信息
void updateLocationInfo(LocationInfoModel model);
}
你可能注意到,这里的模板文件名location_info_service
进行下划线转驼峰格式后,得到的LocationInfoService
,恰好是抽象类定义的名称。参考:命名规则。