Могу ли я написать приложение для Android, которое получает команду с веб-сайта? - PullRequest
2 голосов
/ 19 марта 2010

Я хотел бы написать приложение для Android, которое можно активировать, отправив команду с веб-сайта.Это возможно?На самом деле приложение будет работать на телефоне, и я отправлю ему команду через HTTP.

Ответы [ 5 ]

5 голосов
/ 25 мая 2010

Начиная с Android 2.2, вы можете начать играть с облаком на систему обмена сообщениями по телефону (подробнее здесь )

2 голосов
/ 21 марта 2010

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

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

Есть несколько очевидных недостатков:

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

Это все при условии, что вам нужны ответы, близкие к реальному времени, на ваши команды. Если они могут быть отложены, нормального опроса должно быть достаточно.

1 голос
/ 21 марта 2010

Возможно, сервер отправит SMS-сообщение на Android. На стороне Android ваше приложение может прослушать SMS-сообщение и выполнить соответствующую команду. Вот вопрос об отправке SMS с сервера. Вот некоторая помощь по использованию смс в Android.

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

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

Немного о моем собственном роге :) Теперь с этим адресом ...

Это не будет работать во многих сетях 3G (без публичного IP-адреса)

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

, и имеет все последствия для безопасности при работе веб-сервера на реальном сервере без большинства инструментов (например, брандмауэров) дляуправлять ими

Если требуется общий публичный доступ, вы можете сделать это с помощью одного SSH-соединения с телефона на SSH-сервер.Вам нужно открыть порт на SSH-сервере, но вам не нужно управление брандмауэрами, потому что вы можете запустить другой сценарий Perl, чтобы отфильтровать адрес источника и перенаправить на телефон через SSH-соединение.Есть еще одна вещь, которая хорошо / плохо об этом, в зависимости от вашего взгляда.Поскольку для этого требуется активное соединение SSH / Android ConnectBot, вы знаете, когда оно активно, и оно сбрасывается при закрытии соединения SSH.Для меня это дополнительная безопасность.И я сделал это для отправки файлов KML на сервер Google Карт Google (файл KML должен быть общедоступным без пароля на сервер Google, даже если файл находится на вашем телефоне; я фильтрую по IP-адресу Google.)

0 голосов
/ 19 марта 2010

Это вполне возможно. Просто запустите веб-сервер на вашем телефоне. Например: http://l00g33k.wikispaces.com/micro+HTTP+application+server

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