Я пишу приложение для Android и уже имею рабочую программу, написанную на HTML и PHP. Используя два, они обращаются к API с пользовательским поиском на странице html, который затем отправляет на страницу PHP, связывается с API с помощью индивидуального поиска, получает результат и выходы php на страницу html снова.
Я знаю, что PHP не может работать на Android, но я планирую использовать PhoneGap. С помощью PhoneGap я могу запустить JavaScript, HTML и CSS, предположительно. Я также прочитал, что решение с Android, которое не может понять PHP, – это подключение к серверу (мой компьютер), который может запускать php для меня, а затем выводить его так, как может понять телефон.
Мой план состоит в том, чтобы использовать JavaScript, который PhoneGap может понять, для подключения к моему компьютеру, и пусть он запустит PHP и выведет страницу в HTML, что снова PhoneGap может понять.
Если это абсурдно, пожалуйста, дайте мне знать … В противном случае я был бы очень признателен, если бы кто-то мог подтолкнуть меня в правильном направлении в функции JavaScript, которая позволила бы мне аутентифицироваться, подключиться к компьютеру и сказать, d хотел бы использовать определенный файл PHP.
У нас была такая же проблема при разработке нашего приложения для Android, а также для iOS. Как и Остин, вам уже нужно использовать AJAX.
W3schools – AJAX
Однако я рекомендую вам не использовать jquery, если это необходимо только для нескольких простых вещей, потому что это довольно тяжело из-за большого сценария, который он должен загрузить. Поэтому, если вы можете уменьшить количество кода, сделайте это, изучив реальный JavaScript вместо jQuery.
Кроме того, мы создали собственный APIRequest.js объект. При вызове этого объекта:
var result = new APIRequest('functionname', {param1:value, param2:value})
Это довольно простой подход для подключения к вашему php, который будет работать на вашем сервере где-то в другой стране или на вашем компьютере. Как вы можете видеть, мы вставляем имя функции, мы разработали наш API как довольно простой OOP php thingy, который позволяет нам помещать functionname.php в определенную папку, и это будет прочитано скриптом, а затем выберите эту функцию. Соединения с базой данных и т. Д. Будут помечены индексом api. При таком подходе вы можете создавать специальные функции на стороне сервера для каждой уникальной обработки.
Я говорю вам это, потому что вы используете JavaScript. Я хотел бы, чтобы вы поняли, что это небезопасно! Это безопасно, как приложение JavaScript на вашем компьютере. Хакер может загружать .apk на свой компьютер, запускать его в симуляторе на своем компьютере и редактировать его через консоль. И, таким образом, он может изменить весь ваш код (по крайней мере, часть JavaScript). Поэтому убедитесь, что вы пытаетесь сделать это безопасным, с ключами и тому подобным. Кроме того, постарайтесь сделать как можно больше логики на вашем сервере, поэтому логика не может быть изменена. Только входные параметры для вашего API.
Надеюсь, это помогло вам!
Здесь вам нужно будет использовать AJAX. jQuery имеет отличную функцию-оболочку с именем $.ajax
которая делает большую часть процесса довольно простой и простой.
AJAX отправит асинхронный запрос на любой файл (в вашем случае файл php) и запустит функцию обратного вызова с данными, которые он получает. (синхронно также возможно, но не рекомендуется, так как это приведет к зависанию приложения, пока запрос не будет завершен. Подробнее о том, почему это не рекомендуется )
Некоторые хорошие чтения по рассмотренным здесь темам:
Основной технологией, которую вы хотите использовать, является AJAX, который является термином для вызова сервера через HTTP из Javascript. Вы передаете данные на сервер и из него в XML (X в AJAX) или, возможно, в другой кодировке, такой как JSON.
Вам понадобится специальный PHP-файл на сервере, который будет понимать данные, отправляемые вами в сообщении AJAX, и вместо генерации HTML генерирует XML / другой формат, который ваш Javascript будет использовать.
Лучше всего, вероятно, создать приложение для браузера, которое связывается с вашим сервером через AJAX, и когда это будет работать с портом в PhoneGap.
Это очень легко. Просто выполните запрос GET на страницу PHP и проанализируйте результат. Создайте функцию, чтобы сделать ее проще:
function httpGet(theUrl){ var xmlHttp = null; xmlHttp = new XMLHttpRequest(); xmlHttp.open( "GET", theUrl, false ); xmlHttp.send( null ); return xmlHttp.responseText; }
Затем вы можете вызвать его и получить результирующий HTML-код.
var url = 'http://yourpage/index.php?a=something&b=otherthing'; var page = httpGet(url);