Ну, чтобы достичь того, о чем вы просите, вы можете поместить файл .db в вашу директорию assets / и скопировать его на место при первом запуске приложения .....
final String DB_DESTINATION = "/data/data/YOUR_PACKAGE_NAME/databases/MyDatabaseFile.db";
// Check if the database exists before copying
boolean initialiseDatabase = (new File(DB_DESTINATION)).exists();
if (initialiseDatabase == false) {
// Open the .db file in your assets directory
InputStream is = getContext().getAssets().open("MyDatabaseFile.db");
// Copy the database into the destination
OutputStream os = new FileOutputStream(DB_DESTINATION);
byte[] buffer = new byte[1024];
int length;
while ((length = is.read(buffer)) > 0){
os.write(buffer, 0, length);
}
os.flush();
os.close();
is.close();
}
Где «initialiseDatabase» - это флаг, указывающий, было ли приложение запущено в первый раз.
Хотя, если вы хотите сохранить большое количество данных, как вы упомянули: я настоятельно рекомендую вам не копировать APK-файл с ним и использовать подключение к Интернету для загрузки записей базы данных (с размещенного сервера) после приложение было запущено. Таким образом, вы можете показать индикатор выполнения, указывающий пользователю, почему он долго ждет, чтобы начать использовать приложение. Создание APK особенно большого размера обычно удерживает людей от его установки.