JsonHttpParser已经过时。

3

我正在制作一个简单的Android应用程序,使用Google Places API获取最近的位置。我使用了这个。但是当我调用以下内容时:

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

它在Eclipse上将JsonHttpParser类型的代码打上删除线,但应用程序仍然可以正常工作。

我的问题是 - 在应用程序中使用已被弃用的库是否可行?这会在未来引起任何问题吗?

编辑:

我使用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?
3个回答

4
被弃用的定义: 被注释为@Deprecated的程序元素是程序员不建议使用的元素,通常是因为它很危险或者有更好的替代品。
你仍然可以使用被弃用的代码而不影响性能,但是弃用方法/类的整个目的是让用户知道现在有更好的使用方式,并且在未来的版本中可能会移除被弃用的代码。
今天的弃用意味着明天将不会修复错误,除非您自己修复。
如果您不介意,那就没必要担心了。

1
谢谢。我在下面添加了另一个问题。您能再检查一遍吗? - Minion

2

看起来在1.11版本中,Class JsonHttpParser和Method HttpRequest都已经被弃用。更多信息请参见弃用列表

如果您想替换弃用的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;

注意:未经测试。

1

这不是问题的答案。

但在 google-http-client-1.5.0-beta.jar 库中,已经移除了过时的内容并提供了 JacksonFactory 类。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接