Гибридное приложение Android и связь с удаленным сервером

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

Я хочу хранить файлы пользовательского интерфейса (HTML/JavaScript/CSS) на мобильном устройстве и отображать их через WebView. Это будет связываться с удаленным сервером для получения данных через веб-службу. Что конкретно я не понял:

  1. Будут ли файлы пользовательского интерфейса (HTML/JavaScript/CSS) установлены в файловой системе устройства Android или на устройстве Android будет локальный встроенный веб-сервер.
  2. Если файлы HTML/JavaScript/CSS находятся в файловой системе, как они взаимодействуют с удаленным веб-сервисом. Допустим, я хочу сделать AJAX-вызов на удаленный сервер… будет ли он обрабатываться файлами пользовательского интерфейса (HTML/JavaScript), отображаемыми через WebView, или контейнером JAVA, в котором находится WebView? Чего я не понял, так это того, как HTML/JavaScript, сидящий в файловой системе, может выполнять вызовы AJAX.
  3. Если на мобильном устройстве требуется локальный встроенный веб-сервер, можете ли вы мне его предложить? И если это правда, будет ли такая же архитектура работать и на других платформах, таких как iOS, Symbian, BlackBerry и т. д.

Если кто-то считает, что это неправильный путь, пожалуйста, дайте мне знать, что вы думаете об архитектуре.

Пожалуйста, укажите мне на нужные статьи или объясните, что вы думаете об этом конкретном сценарии.


person Yuvi Dagar    schedule 02.08.2012    source источник


Ответы (1)


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

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

1)Будут ли файлы пользовательского интерфейса (HTML/JavaScript/CSS) устанавливаться в файловую систему устройства Android или на устройстве Android будет локальный встроенный веб-сервер.

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

2) Если файлы HTML/JavaScript/CSS находятся в файловой системе, как они взаимодействуют с удаленной веб-службой. Допустим, я хочу сделать AJAX-вызов на удаленный сервер… будет ли он обрабатываться файлами пользовательского интерфейса (HTML/JavaScript), отображаемыми через WebView, или контейнером JAVA, в котором находится WebView? Чего я не понял, так это того, как HTML/JavaScript, находящийся в файловой системе, может выполнять вызовы AJAX.

Веб-страница загружается с сервера и отображается в вашем браузере. На самой веб-странице мы пишем сценарии для выполнения вызовов AJAX для соответствующих событий, таких как нажатие какой-либо кнопки, изменение значения какого-либо поля или @ время загрузки страницы и т. д. Когда вы хотите сделать вызов AJAX, все зависит от требование вашего проекта.

3) Если на мобильном устройстве требуется локальный встроенный веб-сервер, можете ли вы мне что-нибудь предложить? И если это правда, будет ли такая же архитектура работать и на других платформах, таких как iOS, Symbian, BlackBerry и т. д.

Теперь, как я упоминал ранее, данные хранятся на удаленном сервере, поэтому вам не нужен веб-сервер на вашем мобильном устройстве (если вы не хотите использовать свое мобильное устройство в качестве хостинга или серверного устройства). Поскольку это веб-решение, вам не нужно думать о платформе вашего мобильного телефона. Будь то телефон Android, Blackberry, Apple или Symbian, все, что вам нужно сделать, это подключиться к серверу с помощью веб-браузера, установленного на вашем телефоне.

person svg    schedule 28.03.2013
comment
Спасибо @svg. Этот вопрос долгое время оставался без ответа. - person Yuvi Dagar; 15.05.2013