如何在Android中使用JDK 11 HTTP包



我是一个使用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;

今天,我想写一个Android应用程序在Java中使用相同的包,但我不知何故找不到他们。我可以找到OkHttpClient, Apache的HttpClient以及,但我热衷于使用OpenJDK的HttpClient.

当然有很多建议使用Apache的HTTPClient,但我不寻找。

今天,我希望在Java中使用相同的包编写Android应用程序,但我不知怎么找不到它们

Android SDK不包括任何特定Java SDK中的所有内容,尤其是J2EE。而且,目前Android SDK最多的是Java 8——之后引入的类、方法和其他项目都不在Android SDK中。

我热衷于使用OpenJDK的HTTPClient

欢迎您尝试反向移植HTTPClient以在Android SDK上工作。快速浏览一下源代码就会发现,它过于依赖Android SDK所缺乏的东西,因此后移植最多只能是乏味的,而且可能不会成功。它还将要求您根据GPL授权您的应用程序(或任何其他使用此后台的应用程序),这可能是您想要或不想要做的。

同样,如果其他开发人员将在这个项目中工作,您应该根据对团队(如果相关的话,您的团队所属的公司或其他组织)最好的方式来决定使用什么。与使用OkHttp相比,投资于这种后端工作可能不是最好的选择。

你的问题的答案是noJava的最高完全支持的版本是Java 8。作为补充,您可以查看下面的链接以获得更多细节和理解。

  1. 使用Java 8语言特性和api
  2. Java 8+ apijava 11支持android吗?
  3. 更多Android Http客户端

最新更新