字段JsonHttpParser.jsonFactory不可见

时间:2012-04-03 00:03:03

标签: android

我正在开发一个应用程序,只显示我所在位置附近的地方,我已经实现了地图布局并得到了我的位置。我使用过这个博客http://ddewaele.blogspot.com/2011/05/introducing-google-places-api.html

为了检索附近的地方,但是在这种方法中我无法解决一个问题

private static final HttpTransport transport = AndroidHttp             .newCompatibleTransport(); public static HttpRequestFactory createRequestFactory(final HttpTransport transport){

    return transport.createRequestFactory(new HttpRequestInitializer() {
    public void initialize(HttpRequest request) {
    GoogleHeaders headers = new GoogleHeaders();
    headers.setApplicationName("Google-Places-DemoApp");
    request.setHeaders(headers);
    JsonHttpParser parser = new JsonHttpParser();
    parser.jsonFactory = new JacksonFactory();
    request.addParser(parser);
    }
    });
    }

只是打开一个http连接来执行搜索网址

问题是在parser.jsonFactory = new JacksonFactory(); eclipse告诉我,字段JsonHttpParser.jsonFactory不可见。知道我已经导入了所有必要的外部罐子,我怎么能解决这个问题。

谢谢

2 个答案:

答案 0 :(得分:1)

之前我遇到过同样的问题。

这是因为 jsonFactory和header变量从1.6 开始被删除。如果您在1.6版本之前使用Google API,它应该可以正常运行。

检查以获取更多信息:

  1. http://www.jarvana.com/jarvana/view/com/google/http-client/google-http-client/1.5.0-beta/google-http-client-1.5.0-beta-javadoc.jar!/com/google/api/client/http/json/JsonHttpParser.html#jsonFactory

  2. http://javadoc.google-http-java-client.googlecode.com/hg/1.5.0-beta/com/google/api/client/http/HttpRequest.html

  3. 您需要设计可供使用的替代方法。

    使用以下重新构图的代码:

    GoogleHeaders headers = new GoogleHeaders();
    headers.setApplicationName("Google-Places-DemoApp");
    request.setHeaders(headers);
    
    request.addParser(new JsonHttpParser(new JacksonFactory()));
    

    注意:未经测试!

答案 1 :(得分:0)

似乎在版本1.11中不推荐使用Class JsonHttpParser和Method HttpRequest。有关详细信息,请参阅The Deprecated list

所以而不是:

            JsonHttpParser parser = new JsonHttpParser();
            parser.jsonFactory = new JacksonFactory();
            request.addParser(parser);

尝试:

            JsonObjectParser parser = new JsonObjectParser(new JacksonFactory());
            request.setParser(parser);

并使用import:

import com.google.api.client.json.JsonObjectParser;

注意:未经测试。