Intereting Posts
Как решить для viewpager: указанный ребенок уже имеет родителя. Вы должны сначала вызвать removeView () родителя ребенка Android-планшет или iPad для киоска Facebook api on android: пустой экран вместо auth Как сделать текстовую анимацию? Почему я не могу заблокировать DrawerLayout с гравитацией макета Ошибка: финиш можно вызвать только один раз Разница между андроидом: ориентация = «вертикальная» против андроида: ориентация = «горизонтальная» Как вы теперь импортируете проект Eclipse в Android Studio? Предотвращение несанкционированного удаления приложения для Android Как EditText может принимать только значение integer или float? Есть ли способ изменить андроид: значение windowSoftInputMode из класса java? Создание токена для доступа к учетной записи google Как ограничить EditText только указанными символами в android? Android – openOptionsMenu не работает в onCreate Действительно ли модели Realm требуют геттеров и сеттеров?

Что такое использование List <NameValuePair> или ArrayList <NameValuePair>

Я хочу знать, что такое использование List<NameValuePair> или ArrayList<NameValuePair> в android? Специально, когда мы используем веб-службы с использованием AsyncTask<...>

Solutions Collecting From Web of "Что такое использование List <NameValuePair> или ArrayList <NameValuePair>"

NameValuePair – это специальная пара <Key, Value> которая используется для представления параметров в HTTP-запросе, то есть www.example.com?key=value .

NameValuePair – это интерфейс и определяется в http-клиенте apache, который широко используется в java для обработки операций HTTP. List<NameValuePair> – это всего лишь список пар <key, value> и будет использоваться в качестве параметров в HTTP post request.

 HttpPost request = new HttpPost(); List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("key", "value")); request.setEntity(new UrlEncodedFormEntity(params)); httpClient.execute(request); 

Некоторые полезные вещи для вас.

List – это интерфейс, а ArrayList – реализация интерфейса List .

List : List – это интерфейс в рамках коллекции. Несколько классов, таких как ArrayList , LinkedList реализуют этот интерфейс. List – это упорядоченная коллекция, поэтому позиция объекта имеет значение.

ArrayList : ArrayList – это класс, который может расти во время выполнения. Вы можете хранить объекты Java в ArrayList а также добавлять новые объекты во время выполнения.

Вы будете использовать ArrayList когда вам не придется добавлять или удалять объекты из него. Поскольку, когда вы удаляете объект, все остальные объекты должны быть повторно ArrayList внутри ArrayList , если у вас такая ситуация, попробуйте вместо этого использовать LinkedList .

Вы можете узнать больше информации здесь .

List<NameValuePair> или ArrayList<NameValuePair> используется для отправки значений из приложения android на сервер.

 @Override protected Header[] doInBackground(String... params) { try { DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(params[1]); ArrayList<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(); nameValuePair.add(new BasicNameValuePair("ssn", params[0])); httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair, "UTF-8")); HttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity(); response = EntityUtils.toString(httpEntity); allHeaders = httpResponse.getAllHeaders(); } catch (Exception ex) { ex.printStackTrace(); } return allHeaders; } 

В приведенном выше коде я ssn атрибут ssn на сервер, используя ArrayList<NameValuePair> .

Используется этот код для загрузки данных из приложения android на сервер.

  // image file ********************************* // here send all the sqlite database datas to local sever via HttpPost("url"); ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); nameValuePairs.add(new BasicNameValuePair("job_id","001")); nameValuePairs.add(new BasicNameValuePair("picture_path",picturejson.toString())); nameValuePairs.add(new BasicNameValuePair("date_time",datetime_str)); nameValuePairs.add(new BasicNameValuePair("location",gpslocation_str)); try{ HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://Sample/iphone/getinput"); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); httpclient.execute(httppost); HttpResponse response = httpclient.execute(httppost); //HttpEntity entity = response.getEntity(); //is = entity.getContent(); //HttpResponse response = httpClient.execute(postRequest); BufferedReader reader = new BufferedReader(new InputStreamReader( response.getEntity().getContent(), "UTF-8")); String sResponse; StringBuilder s = new StringBuilder(); while ((sResponse = reader.readLine()) != null) { s = s.append(sResponse); } System.out.println("Response: "); Log.v("hari", "Response : "); }catch(Exception e){ //Log.e("log_tag", "Error in http connection "+e.toString()); } 
 protected String doInBackground(String... params) { try { List<NameValuePair> param = new ArrayList<NameValuePair>(); param.add(new BasicNameValuePair("username", edName)); param.add(new BasicNameValuePair("email", edEmail)); param.add(new BasicNameValuePair("password", edPassword)); param.add(new BasicNameValuePair("mobile", edMobile)); DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(params[0]); httpPost.setEntity(new UrlEncodedFormEntity(param)); HttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity(); InputStream is = httpEntity.getContent(); BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) {sb.append(line + "\n"); } String json = sb.toString(); JSONObject jObj = new JSONObject(json); msg= jObj.getString("message"); } catch(Exception e) { Log.e("error", "Network problem"); } return msg; } }