Заранее извините за то, что выгляжу как новичок, но я очень новичок в разработке приложений и надеюсь, что кто-то может мне помочь!
Я пытаюсь создать приложение для iOS, которое будет хранить данные локально в автономном режиме (например, адрес электронной почты), и после подключения к Интернету эти данные будут сохраняться на сервере.
Сначала я создал базу данных SQLite, которую я сделал с помощью инструмента db browser, и все по большей части работает так, как должно. Приложение использует Core Data для сохранения в БД SQLite.
Затем я создал php-файл, который проверял бы подключение к Интернету, затем выбирал базу данных SQLite и ее данные, а затем вставлял эти данные в базу данных MySQL.
Вот где я застрял. Правильно ли я считаю, что данные, сохраненные в базе данных SQLite при работе на устройстве, сохраняются в каталоге документов устройства?
Если это так, то как мне получить доступ к нему через php-файл, чтобы он был сохранен на сервере MySQL?
Я что-то пропустил? Как правильно сохранить эти данные от базы данных SQLite на устройстве до моего сервера MySQL?
Заранее большое спасибо за любую помощь.
Похоже, вы хотите сохранить свои данные в cookie (адрес электронной почты) и размещать на сервере, когда в сети. Вам не потребуется автономная клиентская БД для данных размером с адрес электронной почты.
Вы можете сделать это с помощью AJAX (асинхронный Javascript), разместив в ожидающем php-файле на основе файла Javascript.
PHP очень хорошо связывается с MySQL с помощью сервера типа LAMP / WAMP (Linux / Windows-Apache-MySQL-PHP) (или версия Ios: IAMP?). С AJAX вы бы $_GET
или же $_POST
в файл PHP, а затем записать данные (после очистки) в базу данных MySQL с помощью MYSQLI или PDO, предпочтительно с подготовленным оператором.
Чтобы получить данные с сервера, у вас должен быть другой PHP-файл, который можно загрузить (снова AJAX) для запроса MySQL с помощью простого оператора SELECT.
Я предлагаю AJAX здесь, потому что это не потребует взаимодействия с пользователем для публикации; Вы можете установить таймер, чтобы постоянно проверять подключение к Интернету и публиковать сообщения, когда оно появится в сети. Вы также можете иметь аналогичный таймер для синхронизации с базой данных сервера. Имейте в виду, что AJAX на основе таймера будет создавать постоянную нагрузку на ваш сервер, так что это может быть не слишком масштабируемым.
Других решений пока нет …