Лучший способ реализовать архитектуру базы данных Client <-> Server <-> в приложении Android? - PullRequest
7 голосов
/ 13 февраля 2010

Я делаю приложение для Android. Поскольку это так просто, я сначала подумал, что могу просто устранить необходимость в Java-приложении на сервере, который действует как промежуточное ПО. Я попытался напрямую подключиться к базе данных, используя драйвер JDBC для MySQL, но моя программа падает, поэтому я не уверен, поддерживает ли Android драйвер JDBC для MySQL.

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

Могу ли я подключиться к программе на сервере Java с помощью сокетов (или другого способа связи)? Или я могу реализовать прямое соединение с базой данных MySQL из клиентского приложения?

Ответы [ 2 ]

20 голосов
/ 13 февраля 2010

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

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

Могу ли я подключиться к программе на сервере Java с помощью сокетов (или другого способа связи)?

Это не обязательно Java.Это должно быть что-то, предназначенное для использования через Интернет.Как отмечается в комментарии г-на Кинга, веб-сервисы использовались для этого большую часть прошедшего десятилетия.Для Android веб-службы REST, вероятно, наиболее просты в использовании, поскольку нет встроенной поддержки SOAP или XML-RPC.Но будет ли веб-служба реализована на Java, PHP, Perl или SNOBOL, решать только вам.

Хорошо, хорошо, возможно, SNOBOL не будет приемлемым вариантом.: -)

0 голосов
/ 25 мая 2019

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

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

Github-REPO: https://github.com/Cedced-Bro/Public-Server Вы можете проверить это, и это с открытым исходным кодом, так что вы можете использовать и внести свой вклад, если у вас есть больше идей для этого.

Чтобы ответить на ваш вопрос более правильно: я настоятельно рекомендую НЕ предоставлять всем пользователям прямой доступ к вашей БД, поскольку вы можете столкнуться с проблемами безопасности со злонамеренными пользователями. Именно по этой причине я создал этот контроллер, а не просто PHP-сервер пересылки.

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