Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
suvorov
5 / 5 / 1
Регистрация: 14.11.2012
Сообщений: 110
#1

Подключение к базе данных, кторая хранится в памяти устройста - Программирование Android

04.03.2014, 15:59. Просмотров 1396. Ответов 1
Метки нет (Все метки)

Добрый день!
Есть база данных sqlite, которая лежит в sdcard. Подключаюсь к базе следующим образом:
Java
1
2
String dbfile = sdcard.getAbsolutePath() + File.separator+ "database.sql";
database = SQLiteDatabase.openDatabase(dbfile, null, SQLiteDatabase.OPEN_READONLY);
Данных метод работает только на андроид 4.2+. Это судя по отзывам пользователей.
Есть еще метод, который уже работает на всех устройстах, но увы мне не подходит, так как этот метод изменят сам файл базы данных. Ниже сам метод:
Java
1
database = SQLiteDatabase.openOrCreateDatabase(dbfile, null);
Подскажите, что можно сделать в данном случае? Главная задача, открыть базу данных без каких либо изменений самой базы, тоесть READONLY! Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2014, 15:59
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Подключение к базе данных, кторая хранится в памяти устройста (Программирование Android):

Подключение к базе данных
Возник вопрос ,как можно осуществить подключение приложения к базе данных...

Подключение к базе данных из ViewPager
В приложении есть база данных, везде в приложении она работает хорошо, но есть...

Подключение эклипс к базе данных phpmyadmin
пожалуйста дай пример как подключить android java project к phpmyadmin!!! ...

AndroidStudio подключение к базе данных Oracle
Доброго дня. Разрабатываю приложение с БД, база создана в Oracle Sql...

Подключение к Базе данных скайп for android
Я знаю что скайп хранит свои персональные данные в базе sqlite3. И для того...

Подключение java к базе данных sql 2008 r2
Всем доброго времени суток.Нужна помощь в подключении java с sql , через...

1
suvorov
5 / 5 / 1
Регистрация: 14.11.2012
Сообщений: 110
13.03.2014, 04:41  [ТС] #2
Проблема частично решена! В первом случае база открывалась в режиме только для чтения. А на некоторых устройствах требовалась таблица android_metadata, которой не существовало. Немного погуглив, я нашел, что эта таблица должна всегда присутствовать. Отсюда первый метод не работал. Поэтому если кто создает базу данных вне приложения, то не забудьте включить данную таблицу(android_metadata). Второй метод само собой работал, так как мог редактировать базу и отсюда создал таблицу android_metadata самостоятельно.

НО! Судя из отчетов пользователей, база данных открывается далеко не у всех. Прилагаю 2 ошибки и надеюсь на вашу помощь!

Java
1
2
android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database
android.database.sqlite.SQLiteException: unable to open database file
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2014, 04:41
Привет! Вот еще темы с решениями:

Где хранится файл базы данных SQLite на устройстве?
Здравствуйте друзья! Где храниться файл базы данных SQLite на устройстве...

Android: подключение к базе ПК с смарт-телефона через интернет
Добрый день, знаю что эта тема уже замылена, много статей можно найти в...

Выполнить операции по формуле, которая хранится в базе данных
Можно ли выполнить операции по формуле, которая хранится в базе данных....

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru