SQLite, MySQL или оба для приложения Android

Я сейчас занимаюсь разработкой приложения для Android.

Я понимаю, что SQLite работает на телефонном устройстве в файловой структуре. Однако я не уверен, практично ли это для нашего использования.

Если я хочу хранить данные, доступные для всех пользователей (т.е. если кто-то обновляет свой профиль, его могут видеть все другие пользователи), можно ли это как-то сделать с помощью SQLite? Или мы должны использовать модель клиент-сервер, такую ​​как MySQL?

Практично ли хранить пользовательскую информацию с помощью SQLite, а общедоступную информацию - с помощью MySQL?

Спасибо


person Michael Capobianco    schedule 10.02.2012    source источник
comment
публичная информация?? Вы хотите, чтобы информация о БД была доступна всем пользователям Android? то вы должны сделать это на стороне сервера, отправив некоторый ответ вашему серверу ..   -  person Rahul garg    schedule 10.02.2012
comment
Да общедоступная информация для всех пользователей приложения.   -  person Michael Capobianco    schedule 10.02.2012
comment
Допустим, SQLite - это локальное хранилище, но вы можете синхронизировать его с удаленной службой и сделать его общедоступным. Это означает, что вы сделаете удаленную службу общедоступной, чтобы все могли видеть изменения на локальном телефоне / базе данных. Практично хранить общедоступную информацию в другом месте, например, сервис, который предоставит эту информацию всем :)   -  person Sergey Benner    schedule 10.02.2012


Ответы (5)


Вы хотите создать архитектуру клиент-сервер, хранить данные на центральном сервере и получить копию рабочих данных на телефоне. MySQL и SQLite не разделяют все, но это близко. Прочтите документацию по SQLite, и вы увидите. SQLite не может обслуживать файлы, такие как MySQL, если это ваш вопрос, через сеть. Вам придется написать это самостоятельно. Предлагаю сделать веб-сервис.

person AlfredoVR    schedule 10.02.2012
comment
Что вы имеете в виду под веб-сервисом? Я понимаю, что вам нужно будет использовать HTTP-запросы через скрипты php для отправки данных на телефон Android. Это то, о чем вы говорите? - person Michael Capobianco; 10.02.2012
comment
Установите веб-сервис на сервер и позвольте устройствам Android использовать его. Прочтите SOAP RPC, Webservices, вы поймете идею. Подключение напрямую к базе данных MySQL - плохая идея. - person AlfredoVR; 10.02.2012
comment
Просто чтобы сообщить об обновлении, мы воспользовались вашим предложением и завершили приложение. Это сработало отлично! - person Michael Capobianco; 25.09.2012

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

Если вы используете SQL Lite, единственный возможный способ обновить эту информацию, не запрашивая ее с сервера, - это выполнить обновление в приложении (это невозможно).


Не забывайте, что для этих типов приложений вам потребуется Интернет.

person aF.    schedule 10.02.2012
comment
Спасибо, это огромная помощь. Именно то, что мне нужно было знать. - person Michael Capobianco; 10.02.2012

вы имеете в виду, что все пользователи будут использовать один телефон, возможно, нет. Причина, по которой рекомендуется рекомендовать базу данных sqlite для Android, заключается в том, что она легкая, не пожирающая память и, следовательно, лучше всего подходит для мобильных телефонов. База данных Sqlite может использоваться в телефоне, в то время как на стороне сервера мы можем использовать любую. Единственное, что нужно сделать, это использовать такой метод, как отправка xml-запроса на сервер с телефона, где сервер будет отправлять ответ как xml или json, в то время как телефон анализирует xml и использует данные в нем. вот как онлайн-приложения работают на мобильных телефонах ..... Я, конечно, используете mysql на стороне сервера и выполняете связь, используя как запрос - ответ, да, клиент-сервер.

person Aromal Sasidharan    schedule 10.02.2012

Практично ли хранить пользовательскую информацию с помощью SQL Lite, а общедоступную информацию - с помощью MySQL?

Да, это именно то, что я делаю со своим приложением. Это очень распространенная практика. Я храню информацию в базе данных MySql, хранящейся на сервере, с которого могут читать все пользователи. Они могут передавать на устройство определенную информацию. Оттуда у меня есть класс в приложении, в котором хранится информация, которую они выбрали в базе данных SQLite. Вы легко сможете добавлять информацию в базу данных MySql на сервере, которую могут просматривать все пользователи.

person Julian    schedule 10.02.2012

да, я думаю, что у модели, которую вы предлагаете, не должно быть проблем. Даже я использую модель, похожую на то, что вы говорите. Я храню некоторую информацию о локальной базе данных sqlite и большую часть информации в базе данных mysql. Для отправки данных с устройства Android в mysql db вам нужно будет написать скрипт mysql на странице, и устройство Android попадет на эту страницу с помощью HTTP-запроса. Вы можете отправить свои данные в этом http-запросе

person vishnu pratap singh    schedule 11.02.2012