如何在Android中使用JDK 11的HTTP包

6
我是使用J2EE技术的Web应用程序开发人员。 我广泛使用Oracle / OpenJDK的HTTP软件包,因为我认为它们更适合开发。 https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpClient.html
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

今天,我想用Java编写一个Android应用程序,使用同样的包,但我却找不到它们。我可以找到OkHttpClient、Apache的HttpClient,但我很想使用OpenJDK的HTTPClient
当然有很多人建议使用Apache的HTTPClient,但我并不想要那个。

4
据我所知,答案是“你无法这样做”……除非你准备花费一些功夫将相关的“java.net.http”类作为库移植到Android上。 - Stephen C
我们必须等待通过解糖使Java 11 APIs可用 - Irfan Latif
Android 13中的OpenJDK 11更新不包括HTTP包。请注意。 - Irfan Latif
2个回答

9
今天,我希望使用相同的软件包在Java中编写Android应用程序,但我无法找到它们。
Android SDK不包含任何特定Java SDK中的所有内容,特别是J2EE。而且,目前,Android SDK的顶级为Java 8-在此之后引入的类、方法和其他项都不在Android SDK中。
我热衷于使用OpenJDK的HTTPClient。
你可以尝试将HTTPClient回溯到适用于Android SDK。快速浏览源代码表明,它过于依赖于Android SDK缺乏的东西,因此这种回溯最多会很繁琐,并且可能不成功。它还需要您将您的应用程序(或使用此回溯的任何其他内容)许可为GPL,这可能是您想要做的,也可能不是。
另外,如果其他开发人员将参与此项目,则应基于团队(以及如适用的公司或其他组织)最好的选择来决定使用什么。与使用OkHttp相比,投资于此回溯工作可能不是最佳选项。

很遗憾我不能使用OpenJDK的HTTP客户端。感谢您指出OkHttpClient是替代方案。 - Nandhan Thiravia

1

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