Flutter

From RHS Wiki
Jump to navigation Jump to search

Flutter[edit]

Install[edit]


Built Value Android Studio Live Templates[edit]

Inspired in: https://www.youtube.com/watch?v=Jji05a2GV_s

File > Settings > Editor > Live Templates

Built Value Header[edit]

  • Abbreviation blth
  • Description Built Value Header
library $LIBRARY$;
import 'dart:convert';
import 'package:built_collection/built_collection.dart';
import 'package:built_value/built_value.dart';
import 'package:built_value/serializer.dart';

part '$LIBRARY$.g.dart';

Built Value[edit]

  • Abbreviation blt
  • Description Built Value
abstract class $NAME$ implements Built<$NAME$, $NAME$Builder> {
  /* fields go here. Examples:
  @nullable
  String get country;
  int get id;
  */
  
  $NAME$._();
  
  factory $NAME$([updates($NAME$Builder b)]) = _$$$NAME$;
}

Built Value Serialized[edit]

  • Abbreviation: blts
  • Description: Built Value Serializer
  • Edited Variables: INAME --> expresion: decapitalize(NAME) Skip if defined = True
abstract class $NAME$ implements Built<$NAME$, $NAME$Builder> {
  /* fields go here. Examples:
  @nullable
  String get country;
  int get id;
  */
  
  $NAME$._();
  
  factory $NAME$([updates($NAME$Builder b)]) = _$$$NAME$;
  
  String toJson() {
    return json.encode(serializers.serializeWith($NAME$.serializer, this));
  }
  
  static $NAME$ fromJson(String jsonString){
    return serializers.deserializeWith($NAME$.serializer, json.decode(jsonString));
  }
  
  static Serializer<$NAME$> get serializer => _$$$INAME$Serializer;
}

Requires a serializer, example: models/serializers.dart

library serializers;

import 'package:built_value/serializer.dart';
import 'package:actions_app/models/actionsPageModel.dart';
import 'package:built_value/standard_json_plugin.dart';

part 'serializers.g.dart';

@SerializersFor(const [
  ActionsListPage,
])
final Serializers serializers = (_$serializers.toBuilder()..addPlugin(StandardJsonPlugin())).build();


Built Value Enum[edit]

  • Abbreviation: bltenum
  • Description: Built Value EnumClass
class $NAME$ extends EnumClass {
  /* Fields go here examples:
  static const $NAME$ uno = _$$uno;
  */
  
  const $NAME$._(String name) : super(name);
  static BuiltSet<$NAME$> get values => _$$values;
  static $NAME$ valueOf(String name) => _$$valueOf(name);
}

BLoC[edit]

  • Abbreviation: bloc
  • Description: Create a Business Logic Object Component
    import 'package:bloc/bloc.dart';
    
    
    class $BLOC$ extends Bloc<$EVENT$, $STATE$> {  //class MyBloc extends Bloc<MyEvent, MyState>
    @override
    $STATE$ get initialState => // TODO: implement initialState;
    
    @override
    Stream<$STATE$> mapEventToState($STATE$ currentState, $EVENT$ event) async* {
            // TODO: Implement mapEventToState
        }
    }