美文网首页
Flutter - 那点事(2020.05.24更新)

Flutter - 那点事(2020.05.24更新)

作者: Cosecant | 来源:发表于2019-12-24 21:58 被阅读0次

隐藏手机号码的实现

与JavaScript/Java/Kotlin都不同,需要使用replaceAllMapped方法,利用分组再组合的方式得到我们想要的结果

实现效果:15900000000 => 159****0000

"15900000000".replaceAllMapped(RegExp(r'^(\d{3})\d{4}(\d{4})$'),
        (Match m) => '${m.group(1)}****${m.group(2)}')

V2插件&V1插件混合效果时:

这是由Flutter自动生成的方法(类:GeneratedPluginRegistrant),然而方法参数变成了FlutterEngine,但是我需要是的是PluginRegistry.Registrar,怎么办?

@Keep
public final class GeneratedPluginRegistrant {
  public static void registerWith(@NonNull FlutterEngine flutterEngine) {
    ShimPluginRegistry shimPluginRegistry = new ShimPluginRegistry(flutterEngine);
    flutterEngine.getPlugins().add(new io.flutter.plugins.connectivity.ConnectivityPlugin());
    flutterEngine.getPlugins().add(new io.flutter.plugins.pathprovider.PathProviderPlugin());
      com.tekartik.sqflite.SqflitePlugin.registerWith(shimPluginRegistry.registrarFor("com.tekartik.sqflite.SqflitePlugin"));
  }
}

不用担心,既然不支持了,要么我们升级我们的主HostActivity使用io.flutter.embedding包里面的FlutterActivity, 要么就像我下面这样,使用类加载并使用反射来调用方法把插件绑定到Flutter中。

特别注意,确认你需要的插件是否提供了兼容V1版本的静态方法regsiterWith

try {
        arrayOf(
            "io.flutter.plugins.connectivity.ConnectivityPlugin",
            "io.flutter.plugins.pathprovider.PathProviderPlugin",
            "com.tekartik.sqflite.SqflitePlugin"
        ).forEach { key ->
            Class.forName(key)
                .getDeclaredMethod("registerWith", PluginRegistry.Registrar::class.java)
                .run {
                    isAccessible = true
                    invoke(null, registrarFor(key))
                }
        }
} catch (e: Exception) {
        e.printStackTrace()
}

相关文章

  • Flutter - 那点事(2020.05.24更新)

    隐藏手机号码的实现 与JavaScript/Java/Kotlin都不同,需要使用replaceAllMapped...

  • Flutter项目更新Flutter版本,保留旧版本

    Flutter版本更新,项目同步更新,同时保留旧的Flutter版本 Flutter项目比较旧,Flutter 大...

  • flutter 常用命令

    1,检测flutter版本 flutter doctor -v2,更新flutter sdk flutter ...

  • iOS时间那点事--NSDateFormatter

    文章出处 iOS时间那点事--NSDate iOS时间那点事--NSDateFormatter iOS时间那点事-...

  • Flutter Mac环境配置/升级

    2021.08.08 更新 Flutter 更新遇到问题:1.使用 flutter --version查看版本,...

  • 2018-10-14

    更新 flutter upgrade 启动 flutter run 指定设备运行 flutter run -d <...

  • 记录Flutter集成ios项目

    在Flutter更新之前,根据Flutter官方文档操作集成进我的ios项目中,但是最近flutter有了更新导致...

  • 陪读时那点事|文集目录

    【陪读时那点事】01|学校旁的出租屋 【陪读时那点事】02|菜市场 【陪读时那点事】03|黑色球鞋 【陪读时那点事...

  • 2020.05.24

    今天开始就是个时间效率要跟上月服务期 就是这在哪呢,然后六日就是执行计划的收获 再次后期就是这样的生活,一定要有节...

  • 2020.05.24

    姓名:蔡江燕 公司:海南蔚蓝时代实业有限公司 组别:365期谦虚3组学员 【日精进打卡第785天】 【知~学习】 ...

网友评论

      本文标题:Flutter - 那点事(2020.05.24更新)

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