3

我正在构建简单的 Android 应用程序,我正在使用 Goolge Places API 获取最近的位置。为此,我使用了 this。但是当我打电话时:

JsonHttpParser parser = new JsonHttpParser(new JacksonFactory());

它是说JsonHttpParser 类型已被弃用,通过在 Eclipse 中的这一行上放置一个 line-through ,但应用程序仍在工作。

我的问题是 -使用应用程序中不推荐使用的库是否很好。这会在未来引发任何问题吗?

编辑:

我使用 JsonHttpParser 来创建 HttpRequestFactory,例如:

public static HttpRequestFactory createRequestFactory(final HttpTransport transport) {
        return transport.createRequestFactory(new HttpRequestInitializer() {
            public void initialize(HttpRequest request) {
                GoogleHeaders headers = new GoogleHeaders();
                headers.setApplicationName("Places-Test");
                request.setHeaders(headers);
                // here it is saying deprecated
                JsonHttpParser parser = new JsonHttpParser(new JacksonFactory());
                request.addParser(parser);
            }
        });
    }

有没有其他方法可以创建 HttpRequestFactory?

4

3 回答 3

4

Deprecated 的定义:注解 @Deprecated 的程序元素是不鼓励程序员使用的程序元素,通常是因为它很危险,或者因为存在更好的替代方案。

您仍然可以在不改变性能的情况下使用已弃用的代码,但弃用方法/类的全部目的是让用户知道现在有更好的使用方法,并且在未来的版本中可能会删除弃用的代码。

今天的弃用意味着明天不会修复错误,除非你自己做。

如果您不介意这一点,则无需担心。

于 2012-08-05T09:08:15.543 回答
2

看来 Class JsonHttpParser 和 Method HttpRequest 在 1.11 版本中都已弃用。有关详细信息,请参阅弃用列表

如果要替换 Deprecated JsonHttpParser,而不是:

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

尝试:

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

并导入:

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

注意:未经测试。

于 2012-12-01T17:30:51.457 回答
1

这将不是问题的答案。

但是在google-http-client-1.5.0-beta.jar库中,弃用已被删除,并且 JacksonFactory
类也可用。

于 2012-11-11T09:46:22.843 回答