BufferedReader 不能正常工作

BufferedReader does not work well

正在加载 URL 和 BufferedReader 之后的内容,但未传送内容。即使普通浏览器可以显示内容。所以 str 将保持为零。知道为什么吗?

URL url = new URL("http://www.omdbapi.com/?t=zorr&y=&plot=short&r=json");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str;
while ((str = in.readLine()) != null) {}
Log.d("alma", str);

您忽略了正在阅读的所有行。然后当 str 变为 null 时退出循环。因此,您的 Log.d() 调用将始终显示 null.

如果您想使用您正在阅读的行,请使用 str inside` 您当前的空块:

while ((str = in.readLine()) != null) {
  // do something with str
}

您可能还希望考虑使用提供更简单 API 的第三方库。例如,OkHttp3 从 URL fairly easy.

获取字符串响应

试试这个:

URL url = new URL("http://www.omdbapi.com/?t=zorr&y=&plot=short&r=json");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str;
while ((str = in.readLine()) != null) {
   Log.d("alma", str); // this should be here
}