кажется, что вы блокируете поток пользовательского интерфейса, и возникает исключение ANR, поскольку, если ваш поток пользовательского интерфейса заблокирован на 5 секунд, это исключение произойдет, чтобы решить эту проблему, вы можете использовать Thread или AsyncTask для выполнения работы, ваш поток пользовательского интерфейса не блокируется
пример:
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");
}
}
и если вы хотите его выполнить
сделать этот звонок
new myAsnyc().execute();
если вы хотите обновить элементы пользовательского интерфейса, используйте метод onPostExecute()
и измените универсальный тип асинхронной задачи
UPDATE
выполнить следующий код
используйте этот код
try {
InetAddress i = InetAddress.getByName("http://androidsaveitem.appspot.com/view");
} catch (UnknownHostException e1) {
e1.printStackTrace();
}
перед вызовом асинхронной задачи
если исключение происходит нормально, перезапустите приложение во второй раз, когда оно будет работать нормально