2013-03-26 5 views
1

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

Лучше ли иметь одного поставщика контента, содержащего все мои базы данных или поставщика контента для каждой базы данных? Моим другим приложениям потребуется только один доступ к одной базе данных.

N.B. Я прочитал подобные сообщения, и мое приложение ДОЛЖНО иметь несколько баз данных.

ответ

2

Как часто: Это зависит :-)

Но если вы должны использовать несколько баз данных, вероятность того, что те содержат более или менее связаны данные. В этом случае Я бы использовал другой ContentProvider для каждой базы данных. Это четкое разделение на проблемы и упрощает понимание API.

BTW: Сохраняйте безопасность. Используйте signature access level for the permissions, если вы хотите, чтобы ваши приложения использовали данные!

+0

Спасибо, что я пришел к выводу. Хороший крик о уровне доступа подписи тоже - я не понял, что могу это сделать! – user1791710

+0

@WolframRittmeyer. Как вы думаете, вы могли бы взглянуть на этот вопрос и дать мне свое мнение http://stackoverflow.com/questions/27361319/disadvantages-of-using-a-content-provider-for-internal-use-for- with-a-complex-databa – eddy

+0

Я думаю, что @karakuri ответил на вопрос очень, как будто бы. –

0

@ Ответ WolframRittmeyer - это путь, если данные в базах данных не связаны.

Если вы хотите предоставить похожие данные из многих источников, вы можете попробовать вставить несколько Cursors из разных баз данных в один MergeCursor.

Опасайтесь, что getColumns() и другие связанные методы могут потенциально возвращать разные результаты в соответствии с текущим положением MergeCursor.

Смежные вопросы