1

我正在开发一个 GWT 应用程序来从 Freebase 获取查询结果。这是我的 EntryPoint 类的代码。

package com.google.tracker.client;

import com.freebase.api.Freebase;
import com.freebase.json.JSON;
import com.google.gwt.core.client.EntryPoint;

public class Tracker implements EntryPoint{

    public void onModuleLoad() {
        Freebase freebase = Freebase.getFreebase();
        String query_str = "{" +
                "'id':   null," +
                "'type': '/film/film'," +
                "'name': 'Blade Runner'," +
                "'directed_by': [{" +
                "'id':   null," +
                "'name': null" +
                "}]" +
                "}​".replace('\'', '"');

        JSON query = new JSON(query_str);
        JSON result = freebase.mqlread(query);
        @SuppressWarnings("unused")
        String director = result.get("result").get("directed_by").get(0).get("name").string();
    }
}

我收到以下错误:

[ERROR] Line 10: No source code is available for type com.freebase.api.Freebase; did you forget to inherit a required module?
[ERROR] Line 21: No source code is available for type com.freebase.json.JSON; did you forget to inherit a required module?

这些可能的原因是什么?

4

1 回答 1

3

Freebase 的 API 包不是 GWT 模块,因此不能翻译成 Javascript。这就是为什么“没有可用的源代码”的原因。您需要从服务器调用 Freebase 并将结果发送到客户端。

于 2012-02-16T13:14:50.640 回答