2013-10-03 4 views
0

Я пытаюсь понять, что является самым эффективным способом подойти к моей проблеме с веб-сервисами.Android Webservices - «poke» webservice

Мое положение: Я разрабатываю приложение для Android, которое хранит и извлекает данные из базы данных mysql (на моем собственном сервере-ПК) через веб-службы. Webservice выполняет команду sql и либо создает xml-файл, либо сохраняет данные в базе данных после нажатия пользователем кнопки отправки.

Следующий случай моя проблема:

вебсервис должен быть ткнул, прежде чем он будет создает XML. До сих пор я должен перейти в веб-сервис в браузере (xxx.xxx.x.xxx:xxx/webservice.php), а затем он обновит xml-файл ((xxx.xxx.x.xxx:xxx/webserviceList. xml) .Однако это должно идти автоматически.

Итак, если пользователь отправляет данные в базу данных (например, добавил клиент), веб-служба должна обновить XML-файл (так xxx.xxx.x.xxx: ххх/webservice.php должен быть введен)

Теперь я думаю, что есть 2 способа исправить это (поправьте меня, если есть и другие способы)

  • как-то пусть база данных совать WebService
  • позвольте приложению вытащить webservice

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

В противном случае, есть простой способ, чтобы приложение касалось/ткнул веб-сайт/веб-сервис без отправки и получения данных, с единственной целью обновить созданный xml через webservice?

Я надеюсь, что вы, ребята, можете дать мне несколько советов :)

Заранее спасибо!

+0

Это посылает данные в базу данных, я уже получил, что работает. Все, что мне нужно сделать, это прикоснуться к веб-сервису, чтобы он обновлял xml-файл. – GeertG

ответ

1

Для этого вам необходимо написать REST API's. После того, как вы написали API в своем бэкэнд, вы можете вызвать его из любого HTTP-клиента. Этот клиент может быть вашим приложением Android или другим сервером (сервером, на котором размещается ваш db).

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

+0

У меня на самом деле уже есть метод, который вызывает функции Http для получения XML-файлов из Интернета. Поэтому вы бы сказали: вызовите класс с помощью AsyncTask, который снова получает xml после получения xml, но затем передает другой URL-адрес и ничего не делает с данными? – GeertG

+0

вам нужно иметь отдельные API для отдельных вещей. Поэтому сделайте еще один вызов API-интерфейса «обновления», единственным заданием которого является указание серверу обновлять себя всякий раз, когда это действие необходимо предпринять. Малые модульные API, которые делают только одну вещь, лучше, чем один API, который будет обрабатывать весь поток. Но это зависит от вашей архитектуры и других требований. –