Доступ к одной и той же базе данных SQLite из 2 приложений

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

Поэтому я хочу знать, можно ли это сделать, сохранив базу данных на внешней SD-карте? Существуют ли какие-либо риски при этом, и могу ли я получить доступ к базе данных на внешнем хранилище из приложения «Настройки»?

Редактировать: Таким образом, другое приложение, на которое я ссылаюсь, будет запрашивать сервер и получать данные, которые будут использоваться для изменения настроек в Android, но эта информация будет храниться в базе данных SQLite. Затем я хочу, чтобы приложение «Настройки» имело доступ к этой информации и обновляло различные вещи, поэтому мне нужно просто знать, смогут ли как это приложение «Настройки», так и другое приложение без проблем получить доступ к базе данных SQLite на внешнем хранилище, чтобы я мог добиться того, что мне нужно? Надеюсь, это немного понятнее?

Спасибо, Вихан.


person Wihan Fourie    schedule 10.02.2015    source источник
comment
Это хороший вопрос, но ваш вопрос немного общего характера. пожалуйста, будьте более конкретными и спрашивайте о проблемах программирования. ;)   -  person Milad Faridnia    schedule 10.02.2015
comment
Я считаю, что это то, что вы ищете > stackoverflow.com/questions/7053809/   -  person MDMalik    schedule 10.02.2015
comment
@MDMalik, да, я видел этот пост, просто хотел убедиться, что это возможно из приложения «Настройки», так как я никогда его не писал и не уверен, есть ли какие-либо ограничения и т. Д.   -  person Wihan Fourie    schedule 10.02.2015


Ответы (2)


Да, это возможно

Общий доступ к базе данных между двумя приложениями

Но когда первое приложение будет удалено, база данных будет удалена.

Для совместного использования базы данных необходимо добавить

<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:sharedUserId="my.app" ... >
person Ameer    schedule 10.02.2015

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

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

подробнее: http://www.skholingua.com/android-basic/android-app-components/content-provider

person chiru    schedule 10.02.2015