美文网首页AndroidflutterFlutter中文社区
Flutter:用 Flutter 来做一个 WanAndroi

Flutter:用 Flutter 来做一个 WanAndroi

作者: Smashing丶 | 来源:发表于2021-09-02 18:16 被阅读0次
    Flutter

    一、项目简介

    此项目为学习 Flutter 做的一个简单的 WanAndroid 客户端

    项目地址

    二、项目截图

    首页 文章详情 妹纸 登录 我的

    三、需要注意的地方

    3.1 GetX

    状态管理框架GetX

    GetX 是 Flutter 上的一个轻量且强大的解决方案:

    1. 高性能的状态管理
    2. 智能的依赖注入
    3. 便捷的路由管理

    目前,Flutter有几种状态管理器。但是,它们中的大多数都涉及到使用ChangeNotifier来更新widget,
    这对于中大型应用的性能来说是一个很糟糕的方法。
    你可以在Flutter的官方文档中查看到,ChangeNotifier应该使用1个或最多2个监听器,这使得它们实际上无法用于任何中等或大型应用。

    刚从 Android 学习 Flutter 的同学,一开始对 Flutter 中的状态管理可能会一头雾水,强烈建议在了解 InheritedWidget 和 Provider 之后,使用 GetX 库进行开发

    3.2 Flutter 中的异步编程

    Flutter 最详细的异步总结

    3.3 json_serializable 使用说明

    1. 首先在 pubspec.yaml 添加如下依赖:
    dependencies:
      json_annotation: ^4.1.0
    
    
    dev_dependencies:
      build_runner: ^2.0.0
      json_serializable: ^5.0.0
    
    1. 新建 model 类, 例如:
    import 'package:json_annotation/json_annotation.dart';
    
    part 'user.g.dart';
    
    @JsonSerializable()
    class User {
      User(this.name, this.password);
    
      String name = "";
      String password = "";
    
      factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json);
    
      Map<String, dynamic> toJson() => _$UserToJson(this);
    }
    

    这里有几个地方需要注意:

    • 在文件顶部添加 part 'user.g.dart',此时会报错,先不用管
    • 在需要转换的实体 dart 类 前加入 @JsonSerializable 注解,标识需要 json序列化处理
    • fromJson()、toJson() 方法的写法是固定模式,按模板修改即可
    • User.g.dart 和 文件名 需要保持一致,否则执行以下命令无效

    如果对 fromJson()、toJson() 用法不了解的话,建议查看 Json转Dart Model类

    1. 在 Terminal 或者 windows 的命令行中, 切换到项目的根目录, 然后执行:

    flutter packages pub run build_runner build

    执行成功后可以看到,在 user.dart 的同级目录中自动生成了 user.g.dart 文件

    四、 项目中用到的开源框架

    相关文章

      网友评论

        本文标题:Flutter:用 Flutter 来做一个 WanAndroi

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