【问题标题】:The field JsonHttpParser.jsonFactory is not visible字段 JsonHttpParser.jsonFactory 不可见
【发布时间】:2012-04-03 00:03:02
【问题描述】:

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

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

私有静态最终 HttpTransport 传输 = 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 连接来执行搜索 url

问题在于 parser.jsonFactory = new JacksonFactory(); eclipse 告诉我该字段 JsonHttpParser.jsonFactory 不可见。知道我已经导入了所有必要的外部 jar,我该如何解决这个问题。

谢谢

【问题讨论】:

    标签: android


    【解决方案1】:

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

    这是因为 jsonFactory 和 headers 变量自 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

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

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

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

    注意:未经测试!

    【讨论】:

      【解决方案2】:

      似乎 Class JsonHttpParser 和 Method HttpRequest 在 1.11 版中均已弃用。请参阅The Deprecated list 了解更多信息。

      所以而不是:

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

      试试:

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

      并使用导入:

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

      注意:未测试。

      【讨论】:

        猜你喜欢
        • 2022-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多