Intereting Posts
`Preload.js` не удалось загрузить некоторые файлы на устройствах Android Что делать, когда Http Post был успешно завершен, и, ожидая ответа, интернет-соединение потеряно? Что такое семейство шрифтов по умолчанию в Android? Показывать результаты autocompletetextview как предложения выше клавиатуры Как я могу реализовать MVC-архитектуру с помощью JQuery mobile Идентификатор объявления и идентификатор рекламного блока должны быть установлены до вызова loadAd Как создать представление таблицы с несколькими столбцами в android с помощью java-кода? Android Studio против русского языка Программировать поворот с возможностью поворота или просмотра Ошибка: операция по умолчанию не найдена Как обновить TileOverlay без мерцания? HasSystemFeature (PackageManager.FEATURE_CAMERA) возвращает true для устройства без камеры Что означает состояние java-потока? Не удалось отменить диалог прогресса Пометить версию Android

Отправьте строку на Android с помощью HttpPost без использования nameValuePairs

Я искал информацию о том, как я могу отправлять информацию с использованием метода HttpPost на Android, и я всегда вижу это:

HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(posturl); List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("Name","Var1")); params.add(new BasicNameValuePair("Name2","Var2")); httppost.setEntity(new UrlEncodedFormEntity(params)); HttpResponse resp = httpclient.execute(httppost); HttpEntity ent = resp.getEntity(); 

Проблема в том, что я не могу этого сделать, потому что мне нужно подключиться к ресурсу, который получает формат String с XML.

Любая идея о том, как я могу отправить только строку без использования List<nameValuePair>

Вы пытались использовать StringEntity ? Выше кода можно обновить, чтобы использовать StringEntity , Ниже приведен результирующий код:

 HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(posturl); httppost.setEntity(new StringEntity("your string")); HttpResponse resp = httpclient.execute(httppost); HttpEntity ent = resp.getEntity(); 

Вы можете использовать JSON в качестве параметра post. Попробуйте обратиться к FlexJson

 // Sending HTTPs Requet to Server try { Log.v("GG", "Sending sever 1 - try"); // start - line is for sever connection/communication HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost( "10.0.0.1/abc.php"); List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1); nameValuePairs.add(new BasicNameValuePair("qrcode", contents)); httppost.setEntity(new UrlEncodedFormEntity( nameValuePairs)); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); // end - line is for sever connection/communication InputStream is = entity.getContent(); Toast.makeText(getApplicationContext(), "Send to server and inserted into mysql Successfully", Toast.LENGTH_LONG) .show(); // Execute HTTP Post Request response= httpclient.execute(httppost); entity = response.getEntity(); String getResult = EntityUtils.toString(entity); Log.e("response =", " " + getResult); } catch (Exception e) { Log.e("log_tag", "Error in http connection " + e.toString()); }