#c# #android #mysql #json #cordova
#c# #Android #mysql #json #кордова
Вопрос:
В настоящее время я разрабатываю одно веб-программное обеспечение (например, библиотеку) (на PHP с MySQL), и теперь я планирую разработать его для смартфонов и настольных компьютеров. Итак, я пришел к phonegap для смартфона. но теперь, как я могу передавать данные из моей базы данных MySQL в приложение? возможно ли это с помощью JSON? Как ?
Другой вопрос в том, как я могу использовать это приложение, которое разрабатывается в Phonegap, когда устройство не подключено к Интернету? Моя та же проблема связана с программным обеспечением на базе Windows, которое я собираюсь разработать на C #.
Спасибо…
Любая помощь будет оценена.
Ответ №1:
чтобы получить данные из вашей базы данных MySQL, вам нужно будет создать на вашем сервере некоторый PHP-контроллер, на который вы будете отправлять запросы POST / GET из своего приложения для извлечения / обновления данных.
чтобы приложение работало в автономном режиме, необходимо сохранить ранее загруженные данные в базе данных устройств или внедрить какое-либо решение для кэширования (например, angular предоставляет его).).
Комментарии:
1. Хорошо, но что делать, пока приложение phonegap работает онлайн, как я отображаю данные? является ли AJAX решением?
2. AJAX = запросы POST / GET = онлайн. в автономном режиме вам необходимо получить ранее сохраненные данные из локальной базы данных УСТРОЙСТВ.
Ответ №2:
Вы должны использовать метод GET / POST в php, чтобы вернуть результат базы данных, обернуть весь результат sql в json_encode
функцию, т.е. echo json_encode($result);
в вашем автономном хранилище вы можете использовать websql, который сохранит его в памяти вашего устройства. поскольку оно устарело, вам, вероятно, следует использовать indexeddb для localstorage.
да, ajax будет наиболее часто использоваться как $.getJSON();
методы, но мой любимый
var jsonp = document.createElement("script");
jsonp.type = "text/javascript";
jsonp.src = "http://foo.com/api/ad?foo_var=4345amp;callback=displayinfo";
document.getElementsByTagName("body")[0].appendChild(jsonp);
function displayinfo(data) { //do your stuff }
Комментарии:
1. Спасибо, но не могли бы вы сказать мне, как я могу хранить базу данных в indexeddb из Mysql через PHP? когда приложение подключено к Сети, его данные сохраняются в автономном режиме для автономного использования
2. @ShivamPandya вы не должны хранить всю базу данных в мобильном хранилище, приложение будет работать медленно, если вы это сделаете. взгляните на ссылку indexeddb, которую я предоставил для хранения данных в local.