Đây là cách tôi đã giải quyết nó và cách bạn có thể gửi ứng dụng của mình với cơ sở dữ liệu được điền sẵn (lên đến Room v. Alpha5)
-
đặt SQLite DB
database_name.db
của bạn vàoassets/databases
thư mục -
lấy các tệp từ kho này và đặt chúng trong một gói có tên là
sqlAsset
-
trong
AppDatabase
của bạn , sửa đổi mã tạo DB của Phòng cho phù hợp:Room.databaseBuilder(context.getApplicationContext(), AppDatabase.class, "database_name.db") .openHelperFactory(new AssetSQLiteOpenHelperFactory()) .allowMainThreadQueries() .build();
Lưu ý rằng bạn phải sử dụng "database_name.db"
chứ không phải getDatabasePath()
hoặc các phương pháp khác:nó chỉ cần tên của tệp.