Если вы в своём проекте используете подготовленную базу данных, то при первом запуске приложения её нужно импортировать в проект. Импортировать базу данных будем из папки Assets проекта. База данных из Assets импортируется почти во всех случаях.
На вход метод dbLoad получает Context, имя базы данных и имя пакета.
В переменную DB_PATH прописываем путь с использованием имени БД и пакета.
Создаём файл базы данных dbPath. Если файл не существует создаём путь к файлу.
Создаём входящий поток inputStream как файл базы данных из папки Assets.
Создаём исходящий поток output, как путь + имя файла.
Входящий поток переписываем в буфер и исходящий поток заполняем буфером.
Закрываем входящий и исходящий потоки .close.
Всё, файл базы данных записан в память устройства (т. е. база данных из Assets импортирована).
// ИМПОРТ ГОТОВОЙ БАЗЫ ДАННЫХ ИЗ ASSETS
public static void dbLoad(Context context, String dbName, String packageName){
String DB_PATH = "/data/data/" + packageName + "/databases/";
File dbPath = context.getDatabasePath(dbName);
if (!dbPath.exists()) {
// Убедимся, что у нас есть путь к файлу
dbPath.getParentFile().mkdirs();
try {
InputStream inputStream = context.getAssets().open(dbName);
OutputStream output = new FileOutputStream(DB_PATH + dbName);
byte[] buffer = new byte[8192];
int length;
while ((length = inputStream.read(buffer, 0, 8192)) > 0) {
output.write(buffer, 0, length);
}
output.flush();
output.close();
inputStream.close();
//Log.d("myLog", "Записалось");
} catch (IOException e) {
e.printStackTrace();
}
}
}