它没有';无法将android应用程序连接到servlet页面以传递数据

它没有';无法将android应用程序连接到servlet页面以传递数据,android,servlets,android-intent,android-networking,Android,Servlets,Android Intent,Android Networking,我想将我的android应用程序连接到我的servlet站点,我需要将一些数据从应用程序传递到url 有人能帮我吗 我编写此代码是为了传递两个参数,但它会生成一个异常: HttpPost postMethod = new HttpPost("http://androidsaveitem.appspot.com/view"); List<NameValuePair> formparams = new ArrayList<NameValuePair>(); formparam

我想将我的android应用程序连接到我的servlet站点,我需要将一些数据从应用程序传递到url

有人能帮我吗

我编写此代码是为了传递两个参数,但它会生成一个异常:

HttpPost postMethod = new HttpPost("http://androidsaveitem.appspot.com/view");
List<NameValuePair> formparams = new ArrayList<NameValuePair>();
formparams.add(new BasicNameValuePair("description+", "HAANAA"));
formparams.add(new BasicNameValuePair("id+", "11223"));
UrlEncodedFormEntity entity;
entity = new UrlEncodedFormEntity(formparams);
postMethod.setEntity(entity);
DefaultHttpClient hc = new DefaultHttpClient();
HttpResponse response = hc.execute(postMethod);
HttpPost-postMethod=新的HttpPost(“http://androidsaveitem.appspot.com/view");
List formparams=new ArrayList();
formparams.add(新的BasicNameValuePair(“description+”,“HAANAA”);
添加(新的BasicNameValuePair(“id+”,“11223”);
UrlEncodedFormEntity实体;
实体=新的UrlEncodedFormEntity(formparams);
方法后。集合实体(实体);
DefaultHttpClient hc=新的DefaultHttpClient();
HttpResponse response=hc.execute(postMethod);

您似乎正在阻止UI线程,并引发了一个异常,因为如果您的UI线程被阻止5秒钟,则会发生此异常。为了解决此问题,您可以使用线程或异步任务来完成此任务,这样您的UI线程就不会被阻止

例如:

public myAsnyc extends AsyncTask<Void, Void,Void>{



protected void doInBackground(){

HttpPost postMethod = new HttpPost("http://androidsaveitem.appspot.com/view");
List<NameValuePair> formparams = new ArrayList<NameValuePair>();
formparams.add(new BasicNameValuePair("description+", "HAANAA"));
formparams.add(new BasicNameValuePair("id+", "11223"));
UrlEncodedFormEntity entity;
entity = new UrlEncodedFormEntity(formparams);
postMethod.setEntity(entity);
DefaultHttpClient hc = new DefaultHttpClient();
HttpResponse response = hc.execute(postMethod);



    }
protected void onPostExecute(){

    log.d("myApp", "success");
}

    }
如果要更新UI元素,请使用
onPostExecute()
方法并修改异步任务的通用类型

更新

执行以下代码 使用此代码

try {
      InetAddress i = InetAddress.getByName("http://androidsaveitem.appspot.com/view");
    } catch (UnknownHostException e1) {
      e1.printStackTrace();
    }
在调用异步任务之前
如果异常发生得很好,请第二次重新运行应用程序,它将正常运行

表单名称中的
+
符号看起来可疑。它们真的属于那里吗?我无法发布pic>>>i02-26 23:39:18.583:D/AndroidRuntime(331):关闭vm02-26 23:39:18.583:W/dalvikvm(331):threadid=1:线程带未捕获异常退出(group=0x40015560)02-26 23:39:18.633:E/AndroidRuntime(331):致命异常:main 02-26 23:39:18.633:E/androruntime(331):java.lang.IllegalStateException:无法在android.view.view$1.onClick(view.java:2144)02-26 23:39:18.633:E/AndroidRuntime(331):在android.view.view.performClick(view.java:2485)02-26 23:39:18.633:E/AndroidRuntime(331):在android.view.view$performClick.run(View.java:9080)02-26 23:39:18.633:E/AndroidRuntime(331):在android.os.Handler.handleCallback(Handler.java:587)02-26 23:39:18.633:E/AndroidRuntime(331):在android.os.Handler.dispatchMessage(Handler.java:92)02-26 23:39:18.633:18.633:E/AndroidRuntime(331):在android.os.os.Looper.Looper.loop(Looper.java:123)02-26 23:39:18.633:18.633:331:在android.app.ActivityThread.main(ActivityThread.java:3683)02-26 23:39:18.633:E/AndroidRuntime(331):在java.lang.reflect.Method.invokenactive(Native Method)02-26 23:39:18.633:E/AndroidRuntime(331):在java.lang.reflect.Method.invoke(Method.java:507)它不起作用查看此表单logCat视图02-28 16:11:41.931:W/System.err(369):java.net.UnknownHostException:androidsaveitem.appspot.com 02-28 16:11:41.931:W/System.err(369):在java.net.InetAddress.lookupHostByName(InetAddress.java:506)02-28 16:11:41.941:W/System.err(369):在java.net.InetAddress.getAllByNameImpl(InetAddress.java:294)02-28 16:11:41.965:W/System.err(369):在java.net.InetAddress.getAllByName.getAllByName(InetAddress.java:256)02-28 16:11:41.965:W/System.err(369):在org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:136)02-28 16:11:41.965:W/System.err(369):在org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)02-28 16:11:41.971:W/System.err(369):在org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)使用此代码尝试{InetAddress i=InetAddress.getByName(URLName);}catch(UnknownHostException e1){e1.printStackTrace();}lsn在发出任何http请求之前调用此代码,如果仍然存在异常,请重新运行应用程序agin,但请查看此方法的覆盖,而不是像您在@override protected Void doInBackground(Void…params){
try {
      InetAddress i = InetAddress.getByName("http://androidsaveitem.appspot.com/view");
    } catch (UnknownHostException e1) {
      e1.printStackTrace();
    }