JsonHttpParser已弃用

时间:2012-08-05 08:58:07

标签: android google-api deprecated google-places

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

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 个答案:

答案 0 :(得分:4)

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

你仍然可以在不改变性能的情况下使用弃用的代码,但是弃用方法/类的全部意义是让用户知道现在有更好的方法使用它,并且在将来的版本中,不推荐使用的代码很可能是被删除。

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

如果你不介意,那就不用担心了。

答案 1 :(得分:2)

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

如果要替换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;

注意:未经测试。

答案 2 :(得分:1)

这不会回答问题。

但在 google-http-client-1.5.0-beta.jar 库中,弃用已被删除,JacksonFactory
也可以上课。