BasicNameValuePair - это объект, в частности, контейнер для хранения данных и ключей.
Например, если у вас есть эти данные:
Name: Bob
Family name: Smith
Date of birth: 10/03/1977
, вы бы сохранили эти данные как:
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("name","bob"));
nameValuePairs.add(new BasicNameValuePair("family name","Smith"));
....
Как видите, вы выбираете ключ («имя») и данные, которые должны храниться как связанные с ключом («боб»).Это тип структуры данных, используемый для ускорения и упрощения хранения информации такого рода.
С другой стороны вам нужен инструмент для использования этих данных:
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
этот кодможет быть разделен на 4 части:
httppost.setEntity
Это метод, который принимает URL-адрес в качестве аргумента и пытается извлечь данные (HTML или то, что хранится на этой странице) из этого URL-адреса, используя метод HTTP Post..
new UrlEncodedFormEntity
Это метод, который преобразует пару ключ-значение в нечто, понятное для http-сервера.
, он использует соглашение
&key=input
, который является одним из наиболее часто используемых, но помните, что есть и другие способы сделать это.
nameValuePair
- это данные, которые вы хранили ранее.В этом случае он имеет ключ к возможным формам ввода в html, идентифицированном тегом «input name =».В качестве данных он имеет значение, которое вы хотите придать формам.
is = entity.getContent();
HttpEntity - это абстракция, помогающая вам обработать возможный результат.Если веб-сайт недоступен или соединение не работает, HttpEntity сообщит вам.getContent () - это метод, который вы используете для извлечения тела результата Http, т. е. HTML, который веб-сервер отправил вам обратно, в качестве входного потока.Если запрос не был успешным, он даст вам нулевое значение.
BasicNameValuePair принимает только куплеты, поэтому вам придется приводить его несколько раз и каждый раз добавлять его в массив.
Вы не можете привести его к более чем двум значениям, так как они были бы бессмысленными для представления данных (ключ, значение).
Надеюсь, это помогло.