{"id":737,"date":"2024-04-27T21:25:19","date_gmt":"2024-04-27T12:25:19","guid":{"rendered":"https:\/\/deskplate.net\/blog\/?p=737"},"modified":"2024-04-27T21:25:19","modified_gmt":"2024-04-27T12:25:19","slug":"flutter-realm-%e5%88%a9%e7%94%a8","status":"publish","type":"post","link":"https:\/\/deskplate.net\/blog\/archives\/737","title":{"rendered":"Flutter Realm \u5229\u7528"},"content":{"rendered":"<p>pubspeck.yaml<\/p>\n<pre>\r\n  provider: ^6.1.2\r\n  realm: ^2.1.0\r\n<\/pre>\n<p>&#8211; person.dart<\/p>\n<pre>\r\nimport 'package:realm\/realm.dart';\r\n\r\npart 'person.realm.dart'; \/\/ \u81ea\u52d5\u751f\u6210\u30d5\u30a1\u30a4\u30eb\r\n\r\n@RealmModel()\r\nclass _Person {\r\n  late String name;\r\n  late String link;\r\n  late String title;\r\n  late String author;\r\n  late String hour;\r\n  late String minute;\r\n  late String second;\r\n}\r\n<\/pre>\n<p>\u30b3\u30de\u30f3\u30c9\u5b9f\u884c<\/p>\n<pre>\r\n# dart run realm generate\r\n<\/pre>\n<p>person.realm.dart \u30d5\u30a1\u30a4\u30eb\u304c\u81ea\u52d5\u751f\u6210\u3055\u308c\u308b<\/p>\n<pre>\r\n\/\/ GENERATED CODE - DO NOT MODIFY BY HAND\r\n\r\npart of 'person.dart';\r\n\r\n\/\/ **************************************************************************\r\n\/\/ RealmObjectGenerator\r\n\/\/ **************************************************************************\r\n\r\n\/\/ ignore_for_file: type=lint\r\nclass Person extends _Person with RealmEntity, RealmObjectBase, RealmObject {\r\n  Person(\r\n    String name,\r\n    String link,\r\n    String title,\r\n    String author,\r\n    String hour,\r\n    String minute,\r\n    String second,\r\n  ) {\r\n    RealmObjectBase.set(this, 'name', name);\r\n    RealmObjectBase.set(this, 'link', link);\r\n    RealmObjectBase.set(this, 'title', title);\r\n    RealmObjectBase.set(this, 'author', author);\r\n    RealmObjectBase.set(this, 'hour', hour);\r\n    RealmObjectBase.set(this, 'minute', minute);\r\n    RealmObjectBase.set(this, 'second', second);\r\n  }\r\n\r\n  Person._();\r\n\r\n  @override\r\n  String get name => RealmObjectBase.get<String>(this, 'name') as String;\r\n  @override\r\n  set name(String value) => RealmObjectBase.set(this, 'name', value);\r\n\r\n  @override\r\n  String get link => RealmObjectBase.get<String>(this, 'link') as String;\r\n  @override\r\n  set link(String value) => RealmObjectBase.set(this, 'link', value);\r\n\r\n  @override\r\n  String get title => RealmObjectBase.get<String>(this, 'title') as String;\r\n  @override\r\n  set title(String value) => RealmObjectBase.set(this, 'title', value);\r\n\r\n  @override\r\n  String get author => RealmObjectBase.get<String>(this, 'author') as String;\r\n  @override\r\n  set author(String value) => RealmObjectBase.set(this, 'author', value);\r\n\r\n  @override\r\n  String get hour => RealmObjectBase.get<String>(this, 'hour') as String;\r\n  @override\r\n  set hour(String value) => RealmObjectBase.set(this, 'hour', value);\r\n\r\n  @override\r\n  String get minute => RealmObjectBase.get<String>(this, 'minute') as String;\r\n  @override\r\n  set minute(String value) => RealmObjectBase.set(this, 'minute', value);\r\n\r\n  @override\r\n  String get second => RealmObjectBase.get<String>(this, 'second') as String;\r\n  @override\r\n  set second(String value) => RealmObjectBase.set(this, 'second', value);\r\n\r\n  @override\r\n  Stream<RealmObjectChanges<Person>> get changes =>\r\n      RealmObjectBase.getChanges<Person>(this);\r\n\r\n  @override\r\n  Person freeze() => RealmObjectBase.freezeObject<Person>(this);\r\n\r\n  EJsonValue toEJson() {\r\n    return <String, dynamic>{\r\n      'name': name.toEJson(),\r\n      'link': link.toEJson(),\r\n      'title': title.toEJson(),\r\n      'author': author.toEJson(),\r\n      'hour': hour.toEJson(),\r\n      'minute': minute.toEJson(),\r\n      'second': second.toEJson(),\r\n    };\r\n  }\r\n\r\n  static EJsonValue _toEJson(Person value) => value.toEJson();\r\n  static Person _fromEJson(EJsonValue ejson) {\r\n    return switch (ejson) {\r\n      {\r\n        'name': EJsonValue name,\r\n        'link': EJsonValue link,\r\n        'title': EJsonValue title,\r\n        'author': EJsonValue author,\r\n        'hour': EJsonValue hour,\r\n        'minute': EJsonValue minute,\r\n        'second': EJsonValue second,\r\n      } =>\r\n        Person(\r\n          fromEJson(name),\r\n          fromEJson(link),\r\n          fromEJson(title),\r\n          fromEJson(author),\r\n          fromEJson(hour),\r\n          fromEJson(minute),\r\n          fromEJson(second),\r\n        ),\r\n      _ => raiseInvalidEJson(ejson),\r\n    };\r\n  }\r\n\r\n  static final schema = () {\r\n    RealmObjectBase.registerFactory(Person._);\r\n    register(_toEJson, _fromEJson);\r\n    return SchemaObject(ObjectType.realmObject, Person, 'Person', [\r\n      SchemaProperty('name', RealmPropertyType.string),\r\n      SchemaProperty('link', RealmPropertyType.string),\r\n      SchemaProperty('title', RealmPropertyType.string),\r\n      SchemaProperty('author', RealmPropertyType.string),\r\n      SchemaProperty('hour', RealmPropertyType.string),\r\n      SchemaProperty('minute', RealmPropertyType.string),\r\n      SchemaProperty('second', RealmPropertyType.string),\r\n    ]);\r\n  }();\r\n\r\n  @override\r\n  SchemaObject get objectSchema => RealmObjectBase.getSchema(this) ?? schema;\r\n}\r\n\r\n\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>pubspeck.yaml provid<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[65],"tags":[],"class_list":["post-737","post","type-post","status-publish","format-standard","hentry","category-flutter"],"_links":{"self":[{"href":"https:\/\/deskplate.net\/blog\/wp-json\/wp\/v2\/posts\/737","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/deskplate.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/deskplate.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/deskplate.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/deskplate.net\/blog\/wp-json\/wp\/v2\/comments?post=737"}],"version-history":[{"count":4,"href":"https:\/\/deskplate.net\/blog\/wp-json\/wp\/v2\/posts\/737\/revisions"}],"predecessor-version":[{"id":741,"href":"https:\/\/deskplate.net\/blog\/wp-json\/wp\/v2\/posts\/737\/revisions\/741"}],"wp:attachment":[{"href":"https:\/\/deskplate.net\/blog\/wp-json\/wp\/v2\/media?parent=737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/deskplate.net\/blog\/wp-json\/wp\/v2\/categories?post=737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/deskplate.net\/blog\/wp-json\/wp\/v2\/tags?post=737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}