使用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);
答案 0 :(得分:1)
您忽略了您正在阅读的所有行。然后,当str
变为null
时,您将退出循环。因此,您的Log.d()
来电始终会显示null
。
如果您想使用您正在阅读的行,请使用1>} 里面的`当前空的块:
str
您可能还希望考虑使用提供更简单API的第三方库。例如,OkHttp3使得从URL fairly easy获得字符串响应。
答案 1 :(得分:1)
试试这个:
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
}