Android 使用URI类连接到网站时出错
我正在尝试连接下面的url。这很好,但执行后应用程序崩溃,有什么想法吗?Logcat抱怨第77行-Android 使用URI类连接到网站时出错,android,android-intent,android-emulator,android-widget,Android,Android Intent,Android Emulator,Android Widget,我正在尝试连接下面的url。这很好,但执行后应用程序崩溃,有什么想法吗?Logcat抱怨第77行-connection=(HttpURLConnection)url.getContent()我从connection=(HttpURLConnection)url.openConnection()更改而来因为url未被执行。此代码在按钮onClick侦听器中执行。提前谢谢 URL url = null; try { url = new URL("http://apps.smilemachin
connection=(HttpURLConnection)url.getContent()代码>我从connection=(HttpURLConnection)url.openConnection()更改而来代码>因为url未被执行。此代码在按钮onClick侦听器中执行。提前谢谢
URL url = null;
try {
url = new URL("http://apps.smilemachine.com/smilefactory/api/v1.0/speedup");
} catch (MalformedURLException e) {
e.printStackTrace();
}
HttpURLConnection connection = null;
try {
connection = (HttpURLConnection)url.getContent();
} catch (IOException e) {
e.printStackTrace();
}
try {
connection.setRequestMethod("GET");
} catch (ProtocolException e) {
e.printStackTrace();
}
try {
connection.connect();
} catch (IOException e) {
e.printStackTrace();
}
日志cat输出:
11-2822:11:21.153:E/AndroidRuntime(2676):致命异常:主
11-28 22:11:21.153:E/AndroidRuntime(2676):java.lang.ClassCastException:java.util.zip.gzip输入流
11-28 22:11:21.153:E/AndroidRuntime(2676):在com.developer.machine.Screen1$1.onClick(Screen1.java:81)
11-28 22:11:21.153:E/AndroidRuntime(2676):在android.view.view.performClick(view.java:2485)
11-28 22:11:21.153:E/AndroidRuntime(2676):在android.view.view$PerformClick.run(view.java:9080)
11-28 22:11:21.153:E/AndroidRuntime(2676):在android.os.Handler.handleCallback(Handler.java:587)上
11-28 22:11:21.153:E/AndroidRuntime(2676):在android.os.Handler.dispatchMessage(Handler.java:92)上
11-28 22:11:21.153:E/AndroidRuntime(2676):在android.os.Looper.loop(Looper.java:123)上
11-28 22:11:21.153:E/AndroidRuntime(2676):位于android.app.ActivityThread.main(ActivityThread.java:3683)
11-28 22:11:21.153:E/AndroidRuntime(2676):位于java.lang.reflect.Method.Invokenactive(本机方法)
11-28 22:11:21.153:E/AndroidRuntime(2676):在java.lang.reflect.Method.invoke(Method.java:507)
11-28 22:11:21.153:E/AndroidRuntime(2676):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
11-28 22:11:21.153:E/AndroidRuntime(2676):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
11-28 22:11:21.153:E/AndroidRuntime(2676):在dalvik.system.NativeStart.main(本机方法)您是从UI线程运行这个吗?另外,请发布Logcat输出。我已经发布了Logcat输出,我不太确定它在哪个线程上执行??将代码更改回connection=(HttpURLConnection)url.openConnection()
并发布Logcat输出。或者,不要期望从getContent()
获取HttpURLConnection
,该方法实际上应该返回一个InputStream
。确实,有一个很好的例子。只是确保不要在UI线程上执行这些东西。