Skip to content

Latest commit

 

History

History
92 lines (85 loc) · 3.4 KB

7.触发自动生成代码.md

File metadata and controls

92 lines (85 loc) · 3.4 KB

生成代码并在example工程应用

完成上面内容后,基本完成 Unify 使用的核心内容。下面我们将生成代码和在example工程中使用这些生成的代码。

生成代码

生成代码,只需在 Unify 宿主工程根路径下执行脚本:

$ ./gen_uni_code.sh

若代码成功生成,将看到如下日志:

Deprecated. Use `dart run` instead.
Building package executable... 
Built unify:unify.
Finished. \(≧▽≦)/

我们来看下 Unify 生成代码后的文件结构:

hello_uni_foundation
├── android
│   └── src
│       └── main
│           └── java
│               └── com
│                   └── didi
│                       └── hello_uni_foundation
│                           ├── DeviceInfoModel.java
│                           ├── DeviceInfoService.java
│                           ├── DeviceInfoServiceRegister.java
│                           ├── LocationInfoModel.java
│                           ├── LocationInfoService.java
│                           ├── UniAPI.java
│                           └── uniapi
│                               └── UniModel.java
├── interface
│   ├── device_info_model.dart
│   ├── device_info_service.dart
│   ├── location_info_model.dart
│   └── location_info_service.dart
├── ios
│   └── Classes
│       ├── DeviceInfoModel.h
│       ├── DeviceInfoModel.m
│       ├── DeviceInfoService.h
│       ├── DeviceInfoService.m
│       ├── HUFUniAPI.h
│       ├── HUFUniAPI.m
│       ├── HelloUniFoundationPlugin.h
│       ├── HelloUniFoundationPlugin.m
│       ├── LocationInfoModel.h
│       ├── LocationInfoModel.m
│       ├── LocationInfoService.h
│       └── LocationInfoService.m
└── lib
    ├── device_info_model.dart
    ├── device_info_service.dart
    ├── hello_uni_foundation.dart
    ├── hello_uni_foundation_method_channel.dart
    ├── hello_uni_foundation_platform_interface.dart
    ├── location_info_model.dart
    ├── location_info_service.dart
    └── uniapi
        ├── Model.dart
        ├── UniCallback.dart
        ├── UniCallbackManager.dart
        ├── caches.dart
        └── uni_api.dart

目录说明:

android:存放生成 Android 平台的代码

interface:存放 Unify 模板文件,代码是基于这些模板文件生成的。

ios:存放生成 iOS 平台的代码

lib:存放生成 Flutter 平台的代码

生成代码的存放位置 与gen_uni_code.sh脚本配置有关,可参考:[API CLI 最佳实践](../04.CLI 使用教程.md#API CLI 最佳实践)。

在example工程使用生成的代码

我们将 hello_uni_foundation 集成到 example 工程中。集成完成后,执行命令:

$ flutter pub get

这样,我们将 Unify 产物代码集成到 example 工程中了。再回顾下需求:

  1. 监听手机定位,定位更新后,主动将经纬度信息同步到 Flutter。
  2. Flutter 获取手机设备参数:系统版本、内存信息、手机型号。

如何实现上面的需求呢?还有些工作要做,我们继续。