Загрузка данных об отдыхе в приложение Android Cordova с помощью AngularJs

0

У меня есть проект Android, созданный Кордовой ведьмой, потребляющий услугу REST, предоставляемую из Spring Rest projet на localhost с помощью AngularJs, я пытаюсь получить доступ к ресурсу, используя следующий код:

'use strict';
angular.module('myService', ['ngResource']).
    factory('Demande', function ($http, $resource) {

 $http.defaults.useXDomain = true;

 return $resource('http:// localhost:8080\:8080/springrestprojet/rest/myobject/:id', {}, {
 'save': {method:'PUT', 
 headers: {
 'Content-Type': 'application/json',
 'Access-Control-Allow-Origin':'*',
 'Access-Control-Allow-Methods' : 'POST, GET, OPTIONS, PUT',
 'Access-Control-Allow-Headers': 'Origin, Content-Type, Accept',
 'Access-Control-Request-Headers': 'X-Requested-With, accept, content-type',
 'Accept':'application/x-www-form-urlencoded, multipart/form-data',
 'Access-Control-Allow-Credentials': 'true'}},
 });
});

Я могу открыть файл

C:\Users\User\Mobile\AppClient\платформы\Android\активы\WWW\index.html

и это показывает мне правильный результат.

но когда я запускаю приложение в эмуляторе, которое дает мне только пустые представления (без хранения данных). Я изменил ip-адрес ресурса на 10.0.2.2 и на ip-адрес моей машины, но это все еще не работает!

Я думаю, нет никакой связи между моим устройством эмулятора эмулятора и локальным хостом!

Любое предложение, пожалуйста?

Благодарю.

Теги:
rest
cordova
localhost

1 ответ

1
Лучший ответ

В VirtualBox работает Genymotion. Вы должны изменить конфигурацию сети. Как указано на http://bbowden.tumblr.com/post/58650831283/accessing-a-localhost-server-from-the-genymotion:

Имя сети - vboxnet0, и если вы запускаете "ifconfig vboxnet0" (или "ipconfig vboxnet0" при запуске Windows) на своем хост-компьютере, вы должны получить IP-адрес своего хоста в сети vboxnet0. По умолчанию IP-адрес 192.168.56.1. Это IP-адрес, который следует использовать при доступе к вашей главной машине из эмулятора Genymotion.

  • 0
    большое спасибо @devz. Кроме того, я нахожу другой способ решения этой проблемы, изменив IP-адрес на 10.0.3.2, это адрес доступа для эмулятора Genymotion.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню