java.net.UnknownHostException:无法解析主机;api.themoviedb.org
我收到错误消息“java.net.UnknownHostException:无法解析主机”api.themoviedb.org:没有与主机名关联的地址”。 我读到的所有stackoverflow帖子都说清单文件可能是错误的,但我认为在这一点上它是正确的,所以我不确定如何继续 AndroidManifest.xml:java.net.UnknownHostException:无法解析主机;api.themoviedb.org,java,android,android-studio,Java,Android,Android Studio,我收到错误消息“java.net.UnknownHostException:无法解析主机”api.themoviedb.org:没有与主机名关联的地址”。 我读到的所有stackoverflow帖子都说清单文件可能是错误的,但我认为在这一点上它是正确的,所以我不确定如何继续 AndroidManifest.xml: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.and
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.flixster">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
}查看您的代码,我发现了两个问题:
正在播放的
在3之后有一个额外的斜杠(themoviedb.org/3//movie/
),因此将字符串替换为
public static final String NOW_PLAYING_URL = "https://api.themoviedb.org/3/movie/now_playing?api_key=a07e22bc18f5cb106bfe4cc1f83ad8ed";
onSuccess()
try
块中,您正在为“result”
获取数据,但是您的API响应返回“results”
,因此按如下所示替换该键,您应该不会出现任何问题
JSONArray results = jsonObject.getJSONArray("results");
希望这有帮助。DNS名称为我解析。(不在Android上…)事实上,他们正在宣传IPv4和IPv6地址。还有其他需要检查的事情。1) 你的无线网络开着吗?2) 您的设备是否启用了移动互联网?3) 它处于飞行模式吗?4) 你在使用模拟器吗?另请参阅:类似的Q&AsMy测试手机确实处于飞行模式,但没有意识到。非常感谢@StephenC。有时候是小事。
JSONArray results = jsonObject.getJSONArray("results");