Ha:phazardly

プログラミングとか同人活動しながら2億くらい稼ごうとガンバr

#定時報告 2018/08 1週目

状況

仕事

月 〜 金 10:00 - 19:00

IOS-02#9

実装

DB周りすすめてます。

現状FlutterでのDBはFirebasesqlite(sqflite)の2択になります。

今回はsqfliteです。

github.com

少々面倒ですが、今後別アプリに展開できるようにmigration機能repositoryアーキテクチャの導入を行っています。

こちらも前回のcamera同様不便さはあります(dartによるものかもしれませんが)。

  • 型変換

DateTIme型でエラーでるので、insert,updateはDateTime型をStringに変換する必要があります。

sqflite/sqflite.dart at master · tekartik/sqflite · GitHub

  • Map -> Model

これはライブラリで解決できるのかわからないのですが、クエリの結果はMap<String, dynamic>で返されるのでrepositoryでModelに変換するのですが、マッピングを定義しないといけないです。

    name = map.containsKey('name') ? result['name'] : null;
    icon = map.containsKey('icon') ? result['icon'] : null;

みたいに書いてます。

sqliteは日付をTEXTで持たせるので、日付の変換もここで行います。

ほか細々とありますが、割愛。

ただ、queryメソッドは便利です。SQL平文で書かなくていいので、大体はかなりスッキリかけます。

sqflite/sqflite.dart at master · tekartik/sqflite · GitHub

進捗 : ■■■■■□□□□□

長期タスク

NOTE

同人活動 #9

一言