web-dev-qa-db-fra.com

Sqlite in flutter, comment fonctionnent les actifs de la base de données

Je regarde ceci ( https://github.com/tekartik/sqflite/blob/master/doc/opening_asset_db.md ) pour remplir des données qui sont déjà formatées et ont besoin de l'application, pour lire fonctionnalité uniquement.

Donc, ma compréhension de la création d'une base de données sqlite lorsque nous avons déjà toutes les informations dans un fichier csv externe est de créer les modèles de classe dans un fichier .Dart dans mon application, comme

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;
  }
}

alors si j'ai un fichier csv avec toutes les informations utilisateur à l'intérieur (avec des valeurs qui correspondent à la classe d'utilisateurs), pourrais-je utiliser l'actif de base de données pour avoir ces informations et les appeler à l'intérieur de l'application flutter ? Je me rends compte qu'il existe probablement de nombreuses façons de procéder, mais en quoi consiste exactement le stockage du fichier .db et comment est-il formaté? Puis-je implémenter un fichier .csv dans ce fichier .db?

8
Mfreeman

Ce fichier .db est utilisé pour enregistrer des données SQL dans it.so vous pourriez être en mesure d'enregistrer et d'obtenir des données avec des commandes SQL. Le plugin lui-même analysera les données dans le fichier .db.

Si vous souhaitez enregistrer vos données au format CSV et les analyser en classe, il est préférable de stocker les données dans le fichier brut (Regardez ici pour enregistrer le fichier) ou utilisez ce plugin . Cependant, il existe d'autres façons d'enregistrer les données en tant que fichier JSON ou de les enregistrer dans une paire clé-valeur .

1
Yamin

Ajoutez l'actif dans votre système de fichiers à la racine de votre projet. Créez un dossier de ressources et placez-y votre fichier db:

assets/examples.db

Spécifiez les actifs dans votre pubspec.yaml dans la section flutter

flutter:

  assets:

    - assets/example.db

Ensuite, vous devrez ouvrir la base de données si elle existe ou la copier si ce n'est pas le cas.

Le lien ici montre le code pour ouvrir/copier une base de données sqlite préexistante:

https://github.com/tekartik/sqflite/blob/master/sqflite/doc/opening_asset_db.md

0
live-love