Можно ли использовать ContentProvider и прямой доступ к данным в базе данных в Android? - PullRequest
0 голосов
/ 14 октября 2011

У меня есть приложение, которое использует прямой доступ к данным в своей базе данных. Мне нечего выставлять за его пределами для других приложений. Как говорит CommonsWare где-то на SO, «если вам нечего открывать - не используйте ContentProvider». Теперь я хочу добавить виджет для отображения пары строк из одной из таблиц, хранящихся в базе данных. Должен ли я выполнить рефакторинг кода прямого доступа в шаблон ContentProvider ? Есть ли способ использовать прямой доступ к базе данных из виджета? Есть ли способ иметь и ContentProvider, и прямой доступ к базе данных в одном приложении?

1 Ответ

1 голос
/ 15 октября 2011

Теперь я хочу добавить виджет для отображения пары строк из одной из таблиц, хранящихся в базе данных.

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

Стоит ли рефакторинг кода прямого доступа к шаблону ContentProvider?

Вам не нужно делать это только потому, что вы пишете виджет приложения.

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

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

Есть ли способ иметь ContentProvider и прямой доступ к базе данных в одном приложении?

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

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