Как получить доступ к существующей базе данных sqlite в Android?

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

Взгляните на документацию для android.database.sqlite.SQLiteDatabase .

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

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

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

Я пошел по той же дороге и нашел два вопроса:

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

    CREATE TABLE android_metadata (locale TEXT);

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

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

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

 Context context = getApplicationContext(); context.getDatabasePath(DataBaseHelper.database_Name);