我正在尝试使用点击按钮上的HTTP发布请求上传名称和分数,但是我得到了一个奇怪的错误。这是我的代码。
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.bMenu:
Intent i = new Intent(ShowScore.this, Menu.class);
startActivity(i);
break;
case R.id.bUpload:
postData();
break;
}
}
private void postData() {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.ratemyplays.com/form.php");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("name", "Steve"));
nameValuePairs.add(new BasicNameValuePair("score", "24"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
// HttpResponse response = httpclient.execute(httppost);
// Execute HTTP Post Request
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String responseBody = httpclient.execute(httppost, responseHandler);
// Just display the response back
displayToastMessage(responseBody);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
}
private void displayToastMessage(String responseBody) {
// TODO Auto-generated method stub
}
这是我的错误
值{/ p>的
java.lang.String
布局无效Java Runtime Environment检测到致命错误:
内部错误(javaClasses.cpp:136),pid = 9736,tid = 10668致命 错误:预加载类的布局无效
JRE版本:(7.0_40-b43)(build)Java VM:Java HotSpot(TM)64位 服务器VM(24.0-b56混合模式windows-amd64压缩oops)失败 写核心转储。默认情况下,客户端上未启用小型转储 Windows版本
答案 0 :(得分:2)
如果查看堆栈跟踪,您可能会发现NetworkOnMainThreadException。自Android 3.x及更高版本以来,您无法在与UI相同的线程上运行网络操作。
总之,您需要使用ASyncTask
来源:Android IllegalStateException: Could not execute method of the activity(我自己测试了代码并按照堆栈跟踪发现了这个答案)
答案 1 :(得分:0)
Eclipse崩溃了。它与您的Android代码无关。
请查看Fatal Error: Invalid Layout of java.lang.String at value进行修复。