Удаленная база Mysql и Android приложение как поступить?
Всем привет!
Появилась необходимость написать не большое приложение для Андроид, суть которого очень проста.
Имеем человека, который купил билет, на билете есть qrcode. Нужно просканировать этот код приложением (допустим в коде находится id записи в базе) и получить информацию по этой записи из БД. БД Mysql находится на удаленном сервере. Как лучше поступить? С созданием приложений под андроид дел не имел. Хочу писать в Xamarin т.к знаю C#.
Подскажите как лучше такое реализовать?
П.С Обновление базы будет не часто. Возможно что бы при открытии приложения все строки с таблицы mysql попадали в локалную базу sqlite, если так проще будет в реализации.
Спасибо.
Не нужно велосипедов, или REST API, или храните на сервере SQLite базу и выкачивайте ее (REST API идеологически правильнее, хотя для ряда задач подойдет и второй вариант)
1. Удаленный сервер должен быть доступен из интернета. Так что база должна быть или на хостинге или у вас за NAT с белым IP.
2. Пишете web сервер и поднимаете на сервере (на хостинге за вас уже подняли) уж на чем нравится (asp.net mvc или php, или python)
2.1. Сервер взаимодействует с вашей Mysql базой
2.2. Можно из андройд приложения делать http запросы к серверу и получать ответ на выбор (xml, json, text, набор байт)
Нашел сервис подходящий под параметры: https://www.codereadr.com/
Позволяет создавать внутри сервиса БД с записями. Иммет приложение под андроид, в котором авторизируешься и он сравнивает значения qrcode со значениями в базе и выдает результат. Может еще есть аналоги, а то этот не очень популярен и запутан.
Если на хостинге открыт прямой доступ к базе - то есть библиотеки для прямой (несекъюрной) работы из Android. Но такой вариант маловероятен - т.е. доступ к базе только из серверных скриптов (локальных) - и придется писать для сервера API для связи с приложением.
p.s. кто-нибудь знает готовый универсальный php-скрипт для доступа к любой таблице в базе MySQL ?