Android заполненная БД

Можно ли добавить предварительно заполненную базу данных SQLite в мое приложение? Я хочу использовать db как обычную базу данных SQLite, таблицы которой заполняются вручную, и я хочу включить ее в мой файл.apk.

3 ответа

Решение

Да, включите его в папку ресурсов и скопируйте его в папку /database при первом запуске приложения.

Попробуй это

private void copyDataBase() throws IOException{

    //Open your local db as the input stream
    InputStream myInput = myContext.getAssets().open(DB_NAME);

    // Path to the just created empty db
    String outFileName = DB_PATH + DB_NAME;

    //Open the empty db as the output stream
    OutputStream myOutput = new FileOutputStream(outFileName);

    //transfer bytes from the inputfile to the outputfile
    byte[] buffer = new byte[1024];
    int length;
    while ((length = myInput.read(buffer))>0){
        myOutput.write(buffer, 0, length);
    }

    //Close the streams
    myOutput.flush();
    myOutput.close();
    myInput.close();

}

Включение в папку активов является одним из вариантов (размер Apk будет увеличен.)

Как насчет хранения предварительно заполненной базы данных у любого поставщика услуг облачного хранения и загрузки файла при первом запуске приложения?

Другие вопросы по тегам