すでにフォーマットされており、アプリに必要なデータを読み込むために、( https://github.com/tekartik/sqflite/blob/master/doc/opening_asset_db.md )を読んでいます。機能のみ。
したがって、外部のcsvファイルにすべての情報が既にある場合のsqliteデータベースの作成についての私の理解は、次のようなアプリの.Dartファイルにクラスモデルを作成することです。
class User {
int id;
String _firstName;
String _lastName;
String _dob;
User(this._firstName, this._lastName, this._dob);
User.map(dynamic obj) {
this._firstName = obj["firstname"];
this._lastName = obj["lastname"];
this._dob = obj["dob"];
}
String get firstName => _firstName;
String get lastName => _lastName;
String get dob => _dob;
Map<String, dynamic> toMap() {
var map = new Map<String, dynamic>();
map["firstname"] = _firstName;
map["lastname"] = _lastName;
map["dob"] = _dob;
return map;
}
void setUserId(int id) {
this.id = id;
}
}
次に、すべてのユーザー情報が含まれているcsvファイル(ユーザークラスに対応する値が含まれている)がある場合、データベースアセットを使用して情報を入力し、フラッターアプリ内で呼び出します。 ?これについては多くの方法があると思いますが、.dbファイルは正確に何を格納しており、どのようにフォーマットされていますか?この.dbファイルに.csvファイルを実装できますか?
この.dbファイルは、SQLデータを保存するために使用されます。そのため、SQLコマンドを使用してデータを保存および取得できます。プラグイン自体が.dbファイルのデータを解析します。
データをCSVとして保存してクラスで解析する場合は、データをrawファイルに保存する(ファイルを保存するには here を参照)または this plugin を使用することをお勧めします。ただし、データをJSONファイルとして保存する、または キーと値のペア で保存する方法は他にもあります。
プロジェクトのルートにあるファイルシステムのアセットを追加します。アセットフォルダーを作成し、その中にdbファイルを配置します。
assets/examples.db
Flutterセクションのpubspec.yamlでアセットを指定します
flutter:
assets:
- assets/example.db
次に、データベースが存在する場合はデータベースを開くか、存在しない場合はコピーする必要があります。
ここのリンクは、既存のsqliteデータベースを開く/コピーするコードを示しています。
https://github.com/tekartik/sqflite/blob/master/sqflite/doc/opening_asset_db.md