Непустая БД LiteSQL при запуске - PullRequest
0 голосов
/ 21 сентября 2011

Я думаю, что это довольно простой вопрос. Я слишком молод в андроиде. Я хочу подготовить заявку, которая будет использовать базу данных. В каждом примере, который я показал, есть пустая база данных, где приложение сначала запускается, а после этого есть несколько вставок. Я хочу иметь приложение с довольно большим БД, поэтому я хочу заполнить БД при запуске приложения. Как мне подготовить БД и прикрепить ее к программе?

1 Ответ

2 голосов
/ 21 сентября 2011
  1. поместите заполненную базу данных в каталог активов пакета,

  2. во время выполнения приложения просто скопируйте эту базу данных во внутреннее хранилище приложения, как data/data/<package name>/database каталог.

  3. тогда используйте его.

РЕДАКТИРОВАТЬ: это для копирования базы данных из каталога активов в каталог базы данных,

private void copyDataBase() throws IOException {

        try {
            // Open your local db as the input stream
            InputStream myInput = myContext.getAssets().open("your Database file name");

            // Path to the just created empty db
            String outFileName = "/data/data/<package name>/databases/";
            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();

        } catch (Exception e) {

            Log.e("error", e.toString());

        }

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...