Освой Android играючи
/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000
3-й курс/Закрытая зона
Знакомство с классом HttpURLConnection
Загружаем страницу
Загружаем картинку
Загружаем картинку из интернета в ListActivity
Для соединения с веб-серверами Android предлагает несколько способов взаимодействия. В новых проектах для современных устройств рекомендуется использовать класс HttpURLConnection, который мы с вами рассмотрим на примерах.
Класс java.net.HttpURLConnection является подклассом java.net.URLConnection и позволяет реализовать работу по отправке и получении данных из сети по протоколу HTTP. Данные могут быть любого типа и длины. Данный класс следует использовать для отправки и получения потоковых данных, размеры которых нельзя заранее определить. Используя данный класс, вам не нужно думать о сокетах и реализовывать собственные способы общения между клиентом и сервером.
Алгоритм использования следующий:
Например, для получения страницы по адресу http://developer.alexanderklimov.ru/android/ можно использовать такой код:
URL url = new URL("http://developer.alexanderklimov.ru/android/");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
try {
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
readStream(in);
finally {
urlConnection.disconnect();
}
}
По умолчанию HttpURLConnection использует метод GET. Для использования POST вызывайте setDoOutput(true) и посылайте данные через openOutputStream(). Другие HTTP-методы (OPTIONS, HEAD, PUT, DELETE and TRACE) настраиваются через метод setRequestMethod(String).
Для работы через прокси-сервер используйте URL.openConnection(Proxy) при создании соединения.
Каждый экземпляр HttpURLConnection может использоваться только для одной пары запроса/ответа. Операции с соединениями следует проводить в отдельном потоке.
Вы вошли на сайт, как гость.
Необходимо зарегистрироваться, чтобы прочитать статью
Android: Используем AsyncTask для загрузки изображений из сети