Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
225 views
in Technique[技术] by (71.8m points)

android - SQLite Flutter : Table not show in flutter, but in sqlite browser is exist

I dont understand why table in my database is not show in my flutter application. I have tried open the database using sqlite Browser, and it shows all my tables.

Code from my flutter apps :

 Future<Database> initDb() async {
    String baseDirectory = Constants.baseDirectory;
    String dirNewDB = Constants.dirNewDB;

    final path = Directory("$baseDirectory$dirNewDB");

    ByteData data = await rootBundle.load(join("assets", "database.db")); 
    writeToFile(data, path.path + "/newdb.db");

    String pathDatabase = path.path + "/newdb.db";

    var todoDatabase = await openDatabase(
      pathDatabase,
    );

    return todoDatabase;
  }

and method for create a file

Future<void> writeToFile(ByteData data, String path) {
    final buffer = data.buffer;
    return File(path).writeAsBytes(
        buffer.asUint8List(data.offsetInBytes, data.lengthInBytes),
        flush: true);
  }

When i run

void showTables() async {
    Database db = await this.database;
    print(await db.query("sqlite_master"));
  }

it shows this : [{type: table, name: android_metadata, tbl_name: android_metadata, rootpage: 3, sql: CREATE TABLE android_metadata (locale TEXT)}]

There is no my tables are shown.

Please help my case, thank you.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...