【问题标题】:httpResponse = httpClient.execute(httpGet);httpResponse = httpClient.execute(httpGet);
【发布时间】:2014-05-04 10:01:27
【问题描述】:

我的 android 应用程序不断崩溃。 我正在尝试通过 post call 连接到 web 服务。 但是我的应用每次尝试调用网络服务时都会崩溃。

 import android.app.Activity;

    import org.apache.http.HttpEntity;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.DefaultHttpClient;

    import java.io.IOException;
    public class PostActivity extends Activity {

        //static String response = null;

        public void loadPost() throws IOException {
            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpEntity httpEntity = null;
            HttpResponse httpResponse = null;

            String blogFeedUrl = "http://localhost/medapp/public/mobile/post";

            HttpGet httpGet = new HttpGet(blogFeedUrl);
            httpResponse = httpClient.execute(httpGet);  // <-- this is where the application crashes

        }

    }

【问题讨论】:

  • "crashing" 不是对您的问题的有效描述。阅读基本调试。提示:阅读 logcat,学习如何解释堆栈跟踪。此外,在开始时浏览开发网站上的教程很有用。

标签: android


【解决方案1】:

根据您发布的代码和相关的导入,根据操作系统(Esp Honeycomb 及更高版本),您的应用程序将因NetworkOnMainThreadException 而崩溃。您正在主线程上尝试网络操作,而不是在后台线程或Asyctask 中。

在您的 logcat 中(如果您发布它会有所帮助),NetworkOnMainThreadException 将被抛出:

E/AndroidRuntime(673): java.lang.RuntimeException: Unable to start activity
    ComponentInfo{com.example/com.example.ExampleActivity}: android.os.NetworkOnMainThreadException

Android developer's site 上详细记录了为什么会发生这种情况的解释:

当应用程序抛出 NetworkOnMainThreadException 尝试在其主线程上执行网络操作。这是 仅针对面向 Honeycomb SDK 或更高版本的应用程序抛出。 允许针对早期 SDK 版本的应用程序执行 在他们的主事件循环线程上联网,但它很重 气馁。

通过:

Why the app would crash or work depending on O.S.

Try AsyncTask to avoid NetworkOnMainThread

为什么你不应该使用严格模式替代方案作为你的解决方案,而只是为了调试(我建议你也避免这样做,你现在知道问题所在了):
Critical to fix it, not by setting Thread policies

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多