Предварительно заполненная база данных Android OrmLite - PullRequest
7 голосов
/ 20 февраля 2011

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

Я думаю создать файл сценария, открыть загрузчик для чтения и обработать каждый файл как необработанный SQL, executeRaw() метод.Есть мысли?

Ответы [ 2 ]

9 голосов
/ 27 февраля 2011

Просто хотел опубликовать мое решение для тех, кому это может понадобиться

try {
    tableDAO.updateRaw("DELETE FROM table");
    InputStream is = getResources().openRawResource(R.raw.populate_db);
    DataInputStream in = new DataInputStream(is);
    BufferedReader br = new BufferedReader(new InputStreamReader(in));
    String strLine;
    while ((strLine = br.readLine()) != null) {
        tableDAO.updateRaw(strLine);
    }
    in.close();
} catch (Exception e) {
    e.printStackTrace();
}
3 голосов
/ 20 февраля 2011

Добрый Джо. Я думаю, что ваша идея executeRaw() близка, но вместо этого используйте updateRaw(). Обновление обрабатывает операторы INSERT, DELETE и UPDATE.

http://ormlite.com/docs/raw-update

Вы должны сначала позвонить TableUtils, чтобы создать свою схему:

http://ormlite.com/docs/tableUtils

Надеюсь, это поможет. Вы можете использовать список рассылки для вопросов в будущем:

http://groups.google.com/group/ormlite-user/

...