Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android下,哪个java类更适合将网页读入字符串_Java_Android_Httpclient_Webpage - Fatal编程技术网

在Android下,哪个java类更适合将网页读入字符串

在Android下,哪个java类更适合将网页读入字符串,java,android,httpclient,webpage,Java,Android,Httpclient,Webpage,我已经看到了很多解决方案,但不确定使用哪种方法或类(包括导入和libs)更合适?我更喜欢使用原生安卓libs,我使用的是API 23,但这是可以改变的。这甚至不一定是安卓的问题。如果您的目标只是获取网页的字符串表示,而不进行解析,那么您应该能够毫无问题地使用Java SE中也存在的类,如URL和InputStream 例如,这里没有异常处理,请根据需要自行处理。您可以使用try with resources,或者在finally块中完成时关闭连接/输入流 // create the url ob

我已经看到了很多解决方案,但不确定使用哪种方法或类(包括导入和libs)更合适?我更喜欢使用原生安卓libs,我使用的是API 23,但这是可以改变的。

这甚至不一定是安卓的问题。如果您的目标只是获取网页的字符串表示,而不进行解析,那么您应该能够毫无问题地使用Java SE中也存在的类,如URL和InputStream

例如,这里没有异常处理,请根据需要自行处理。您可以使用try with resources,或者在finally块中完成时关闭连接/输入流

// create the url object and open the connection
URL url = new URL("http://somewhere.com");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();

// read the webpage  a line at a time and append it to a `StringBuilder`
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
    sb.append(line);
}
// here is the html
String html = sb.toString();

你试过jsoup吗?没有。从没听说过。它是本地Android框架吗?我试图避免使用第三方libs。它是一个解析html和css的java库,您可以通过gradle将其添加到您的项目中。如果您只是尝试将html转换为纯字符串,那么您可以尝试html类。当然,您必须小心并仔细检查Java SE中的给定类是否也可以从Android SDK中获得。很好的一点,细微的区别。我相应地更新了答案。这正是我使用JavaSE为我的web应用程序所做的。我已经构建了一些例程,但不确定它们是否适用于Android。我喜欢与其他应用程序兼容的范例。导入Java.net.*让我很难过,所以我想我需要添加一个库。@zappullae查看上的文档。通常情况下,Android API中的特定类的文档会被快速发送到google Android。例如,Android HttpURLConnection提供以下内容:。请注意,它应该是import java.net.*,而不是import java.net.*。你能看到区别吗?是的,我知道进口的区别。所以upper在我的回复中把它加在了我身上,我把一个未使用的导入误认为是一个错误。谢谢你对文档格式的介绍。这将在将来有所帮助。