0

我正在使用 Eclipse 来(尝试)构建一个 Android 客户端,以重用我使用 GAE 和 GWT 开发的 restlet 服务。

我的服务正在运行

    http://127.0.0.1:8888/abc/audits  

我可以通过直接访问这个 url 并使用我的 GWT 客户端来测试它——两者都可以。

但是,以下代码返回通信错误

    private AuditsResource resource;
    private Audits audits;

    ClientResource cr = new ClientResource("http://127.0.0.1:8888/abc/audits");
    resource = cr.wrap(AuditsResource.class);
    try {
    // Get the remote contact
     audits = resource.retrieve();
    // The task is over, let the parent conclude.
    handler.sendEmptyMessage(0);
    } catch (Exception e) {
        Message msg = Message.obtain(handler, 2);
        Bundle data = new Bundle();
        data.putString("msg", "Cannot get the contact due to: "
            + e.getMessage());
        msg.setData(data);
        handler.sendMessage(msg);
    }

我不知道下一步该往哪里看。我已经检测了 AuditsResource 的服务器实现,并且它从未被触及(由 Android 应用程序)。

AuditsResource 类有一种方法,现在可以让事情变得简单

    @Get
    public Audits retrieve();
4

2 回答 2

0

看来问题是 Andriod Emulator 无法连接到 127.0.0.1 或 10.0.2.2。解决方案是使用您的 PC 的 IP 地址。

于 2012-05-17T12:11:24.503 回答
0

我可以使用 10.0.2.2 而不是 localhost 通过 Android/Restlet 从 Android 连接到我的本地 Google App Engine。

于 2012-05-21T04:06:15.490 回答