0

我用 netbeans (Java EE) 制作了一个 web 服务,我想与我的 Android 应用程序(用 eclipse 制作)进行通信。

例如,当我尝试交流时,我通过浏览器调用我的网络服务:

localhost:9999/SupRails_Start/resources/rest/mail@gmail.com/password

...它给了我一个 JSON,...

对于 ADB,我将其称为 URI:

10.0.2.2:9999/SupRails_Start/resources/rest/mail@gmail.com/password

但它给了我

java.lang.IllegalArgumentException: Illegal character in scheme at index 0: 10.0.2.2:0000/SupRails_Start/resources/rest/...

当我将 JSON(从浏览器接收)复制粘贴到 php 页面并将其托管在网络上时,它可以完美运行!

这是我的 Android 项目的一部分:

WebService webService = new WebService("10.0.2.2:9999/SupRails_Start/resources/rest/wil.nad@gmail.com/root");
        Map<String, String> params = new HashMap<String, String>();
        String temp = webService.webGet("", params);
        Log.v("", "JSON received = "+temp);

请帮助我我不明白我的错误......非常感谢!

4

1 回答 1

1

您的 Web 服务 URL 不完整。有效 URL 的语法如下:

scheme://domain:port/path?query_string#fragment_id

每个 URL 由以下部分组成:方案名称(通常称为协议),后跟一个冒号,两个斜杠,[注 1] 然后,根据方案,服务器名称(exp. ftp., www., smtp.等)后跟一个点 (.),然后是域名[注 2](或者 IP 地址)、端口号、要获取的资源或要运行的程序的路径,然后,对于诸如通用网关接口 (CGI) 脚本、查询字符串、[7][8] 和可选的片段标识符。

[维基百科]

所以改变这个:

new WebService("10.0.2.2:9999/SupRails_Start/resources/rest/wil.nad@gmail.com/root")

对此:

new WebService("http://10.0.2.2:9999/SupRails_Start/resources/rest/wil.nad@gmail.com/root")
于 2012-05-20T14:42:34.790 回答