Как получить доступ к существующей базе данных sqlite в Android? - PullRequest
28 голосов
/ 23 декабря 2009

Пока что мы разработали приложения для Android, которые создают базу данных во время выполнения. Мы хотели бы знать, как мы можем получить доступ к предварительно собранному или существующему файлу базы данных / sqlite в нашем приложении для Android? Пожалуйста, предоставьте детали

Ответы [ 4 ]

36 голосов
/ 23 декабря 2009

Ознакомьтесь с документацией для android.database.sqlite.SQLiteDatabase .

В частности, есть команда openDatabase (), которая будет обращаться к базе данных по заданному пути к файлу.

SQLiteDatabase db = SQLiteDatabase.openDatabase(path, null, 0);

Просто укажите путь к вашей базе данных в качестве переменной path, и она должна работать.

3 голосов
/ 06 декабря 2012

Я прошел по той же дороге и обнаружил две проблемы:

  1. Включите поле _id в любую таблицу, которую вы создаете, и убедитесь, что это часть столбцов, возвращаемая при запросе любой таблицы.
  2. Вы можете столкнуться с ошибкой типа Не удалось открыть базу данных. закрытие это. . Это потому, что мы копируем базу данных из существующего файл вместо создания таблиц поверх базы данных, созданной sqlite Android API и таблица android_metadata могут не существовать. За создав его, просто запустите следующий запрос к вашей базе данных:

    CREATE TABLE android_metadata (locale TEXT);

    И добавить соответствующий языковой стандарт, например en_US

0 голосов
/ 11 февраля 2015

Используйте это для доступа к базе данных в приложении:

Context context = getApplicationContext();
context.getDatabasePath(DataBaseHelper.database_Name);
0 голосов
/ 12 мая 2011

Сначала скопируйте SDCARD и укажите его путь в переменной «DBNAME» в следующем примере. это будет что-то вроде "/sdcard/persons.db", если вы напрямую вытягиваете его на SDCard.

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