我是学习Android应用开发的初学者。这是我的问题
我正在使用与Android SDK一起提供的eclipse来开发应用程序。要通过网络启用我已使用phonegap构建教程的应用程序来添加cordova API。现在我能够看到html文件,如果我只使用普通的HTML控件或文本。但我有一个代码从另一个WebSphere服务器调用Web服务并显示数据。当我在IIS服务器中运行代码(使用DreanWeaver IDE)时,它完美地运行。但是,当我尝试在模拟器中运行此应用程序(从Android SDK)时,我看不到来自Web服务的任何输出。我甚至看不到从Android应用程序到我的webspehere服务器的调用(当我在Dreamweaver中将此代码作为网页运行时,我可以看到)。这是我的index.html代码。我已经将ws.js和prototype.js包含在assets / www / scripts /中,如果有人想知道的话。有人可以帮我解决这个问题。
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
<meta charset="utf-8">
<script type="text/javascript" src="scripts/prototype.js"></script>
<script type="text/javascript" src="scripts/ws.js"></script>
<script type="text/javascript">
function onBodyLoad(name, container)
{
console.log("Here1");
var call = new WS.Call('http://localhost:9080/ILM/services/ILMReports');
var nsuri = '';
var qn_op = new WS.QName('getInboundSearchByItemReport',nsuri);
var qn_op_resp = new WS.QName('getInboundSearchByItemReportResponse',nsuri);
call.invoke_rpc(
qn_op,
new Array(
{name:'name',value:name}
),null,
function(call,envelope) {
var ret =
envelope.get_body().get_all_children()[0].
get_all_children()[0].get_value();
container.innerHTML = ret;
}
);
/*window.location = "TestingAJAXWS.html";*/
}
function onDeviceReady()
{
// do your thing!
navigator.notification.alert("PhoneGap is working")
}
</script>
</head>
<body onload="onBodyLoad('aaa',$('result'))">
<h1>Hey, it's PhoneGap!</h1>
</body>
答案 0 :(得分:0)
我能看到的问题是您用来访问Web服务的本地主机地址。
不知何故,android模拟器不允许使用localhost地址,因为模拟器不知道。 (如果你知道原因请写)
这是一个老线程。但我希望它能帮助别人。 / T