我的android应用程序一直在崩溃。我正在尝试通过电话后连接到网络服务。但是我的应用程序每次尝试调用网络服务时都会崩溃。
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
}
}
根据您发布的代码以及在同一版本中的相关导入,取决于O.S(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开发人员的网站上有很好的记录:
当应用程序尝试在其主线程上执行网络操作时,会引发NetworkOnMainThreadException。这仅适用于针对蜂巢SDK或更高版本的应用程序。针对早期SDK版本的应用程序可以在其主事件循环线程上进行联网,但这是非常不鼓励的。
经过:
为什么应用程序会崩溃或工作取决于O.S。
尝试AsyncTask以避免NetworkOnMainThread
为什么不使用严格模式替代方案作为解决方案,只进行调试(我建议避免这种情况,实际上,你知道现在的问题是什么):
解决它至关重要,而不是通过设置线程策略
我是java HttpClient的新手,目前正在尝试创建RestServiceApplication,但我无法将HttpResponse转换为字符串数组以访问数组的元素。 我已经为应用程序实现了以下控制器,它有不同的方法,每个方法都返回一个字符串数组。 通过Google,我发现我需要解析响应JSON,但我不知道如何解析。我从Spring.io下载了项目结构,因此我认为响应返回为JSON,但我对此
问题内容: 我目前正在尝试从Android应用程序向php服务器发送数据(两者均由我控制)。 应用程序中的表单上收集了很多数据,这些数据已写入数据库。所有这一切。 在我的主代码中,首先我创建一个JSONObject(在此示例中,我已在此处将其裁剪): 接下来,我将对象传递给发送对象,并接收响应: HTTPPoster类: 这将获得响应,但是服务器返回403-禁止响应。 我试过稍微更改doPost函
在django.http模块中定义了HttpResponse对象的API HttpRequest对象由Django自动创建,HttpResponse对象由程序员创建 在每一个视图函数中必须返回一个HttpResponse对象,当然也可以是HttpResponse子对象 1.不用模板,直接返回数据 from django.http import HttpResponse def index(req
问题内容: HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(“http://my.server:8080/android/service.php"); 生成一个json字符串。我该如何从我的手机上获取?顺便说一句; 我已经将该库排除在外了,我可以在其中使用任何方法吗? 有更好的方法,
我正在尝试从Akka HttpResponse检索cookie cookie_jar=cookieLib.cookiejar()non_redirecting_opener=urllib2.build_opener(norredirectionprocessor,urllib2.httpcookieprocessor(cookie_jar))response=non_redirecting_ope
DoitPHP扩展类HttpResponse,用于HTTP请求时状态信息,获取文件mime类型。本类提供的类方法均支持静态调用。注:一般情况下不常用。 类方法使用说明: 1、httpStatus($code, $text = null) 设置HTTP状态信息。 参数说明: $code : HTTP 状态编码 $text : HTTP 状态信息 2、getMimeType($alias) 获取文件的