我正在构建简单的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?
答案 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
也可以上课。