Android studio okhttp примеры

Содержание
  1. Русские Блоги
  2. [OkHttp] подробное объяснение расширенной разработки Android (с исходным кодом проекта)
  3. Краткое содержание статьи
  4. 1. Введение в OkHttp
  5. 1. Что такое OkHttp
  6. 2. Преимущества OkHttp
  7. Во-вторых, OkHttp прост в использовании
  8. 1. Сделайте запрос на получение
  9. 2. Сделайте почтовый запрос
  10. 3. Загрузите и загрузите изображения.
  11. 3. Использование перехватчиков
  12. Три, пакет OkHttp
  13. 1. Простая упаковка самостоятельно
  14. 2. Android — пакет фреймворка OKHttpUtils
  15. В-четвертых, загрузка исходного кода проекта
  16. Android OkHttp3 Http Get Post Request Example
  17. 1. OKHttp Characters.
  18. 2. Add OkHttp3 Library In build.gradle.
  19. 2. Use OkHttp3 To Create HTTP Get Request Method Call Object.
  20. 3. Use OkHttp3 To Create HTTP Post Request Method Call Object.
  21. 4. Send Http Request Synchronously And Asynchronously.
  22. 5. OkHttp Get Post Request Example.
  23. Android studio okhttp примеры
  24. Android OkHttp Example
  25. OkHttp Supports Http/2
  26. Features of OkHttp.
  27. Add Library to Project
  28. Add Permission to Manifest
  29. Android OkHttp Examples
  30. Android OkHttp Get Example
  31. Android OkHttp Get Request With Query String Example
  32. Android OkHttp Post Example
  33. Android OkHttp POST JSON Example
  34. Android OkHttp Headers Example
  35. Android OkHttp Async Call
  36. Android OkHttp Multipart Example
  37. Android OkHttp Example Code
  38. Activity
  39. Layout
  40. About

Русские Блоги

[OkHttp] подробное объяснение расширенной разработки Android (с исходным кодом проекта)

Краткое содержание статьи

1. Введение в OkHttp
2. OkHttp прост в использовании
Три, пакет OkHttp
В-четвертых, загрузка исходного кода проекта

1. Введение в OkHttp

1. Что такое OkHttp

Обычно на платформе Java мы будем использовать Apache HttpClient в качестве Http-клиента для отправки HTTP-запросов и обработки ответов. Например, вы можете использовать http-клиент для интеграции со сторонними службами (такими как службы единого входа), и, конечно же, вы также можете сканировать данные в Интернете. Как и HttpClient, OKHttp также является Http-клиентом, обеспечивая поддержку HTTP / 2 и SPDY, а также функции пула соединений, сжатия GZIP и кэширования ответов HTTP.

2. Преимущества OkHttp

(1) Поддержка HTTP2 / SPDY (SPDY — это протокол транспортного уровня на основе TCP, разработанный Google для минимизации сетевой задержки, повышения скорости сети и оптимизации работы пользователей в сети)
(2) Socket автоматически выбирает лучший маршрут и поддерживает автоматическое переподключение, имеет автоматически поддерживаемый пул подключений сокетов, уменьшает количество подтверждений, уменьшает задержку запроса, разделяет Socket и уменьшает сервер Количество запросов
(3) Стратегия кэширования на основе заголовков снижает количество повторяющихся сетевых запросов.
(4) Иметь перехватчики для простой обработки запросов и ответов (автоматическая обработка сжатия GZip)

3. Функция OkHttp

(1) Шаги получения запроса: сначала создайте объект Request, параметр — это как минимум URL-адрес, конечно, вы можете установить дополнительные параметры, такие как заголовок, метод и т. Д., Через Request.Builder.
(2) Затем используйте объект запроса для создания объекта Call, который аналогичен инкапсуляции вашего запроса в задачу. Поскольку это задача, будут выполняться execute () и cancel () И другие методы.
(3) Наконец, мы хотим выполнить запрос асинхронно, поэтому мы вызываем call.enqueue, добавляем вызов в очередь отправки и затем ждем завершения задачи. Мы находимся в обратном вызове Вы можете получить результат.
(4) Параметром обратного вызова onResponse является ответ. Как правило, например, мы хотим получить возвращаемую строку.
можно получить с помощью response.body (). string (); если вы хотите получить возвращаемый двоичный массив байтов, вызовите response.body (). bytes (); если вы хотите получить Для возвращенного inputStream вызовите response.body (). ByteStream ()
(5) Увидев это, вы можете быть удивлены тем, что вы все еще можете получить возвращенный inputStream. По крайней мере, вы можете понять, что когда вы это видите, здесь поддерживаются загрузки больших файлов. У нас есть inputStream. Вы можете писать файлы через IO. Но это также показывает проблему, поток выполнения этого onResponse не является потоком пользовательского интерфейса. Действительно, если вы хотите управлять элементами управления, вам все равно нужно использовать обработчики и т. Д.
(6) okHttp также поддерживает обработку GJson
(7) okhttp поддерживает синхронные и асинхронные запросы, Call call = client.newCall (request); это синхронный запрос, после отправки запроса он перейдет в состояние блокировки, зная, что получен ответный вызов .enqueue (new Callback () — асинхронный запрос
(8) В методе обратного вызова okhttp3.Callback есть параметр Call. Этот вызов может отдельно отменить соответствующий запрос. Вы можете выполнить call.cancel () в методе onFailure или onResponse. . Если вы хотите отменить все запросы, вы можете okhttpclient.dispatcher (). CancelAll ();

Читайте также:  Ru rugion android news r72

Во-вторых, OkHttp прост в использовании

1. Сделайте запрос на получение

2. Сделайте почтовый запрос

3. Загрузите и загрузите изображения.

3. Использование перехватчиков

Что такое перехватчик
Сначала нам нужно понять, что такое перехватчики. Например, конвой шел по небольшой горной дороге с ящиком слитков. Группа бандитов внезапно спустилась с горы и преградила путь конвою. Они очистили конвой и освободили ценности. Бандит эквивалентен перехватчику, а сопровождение эквивалентно сетевому запросу, выполняющему задачу, а параметром в запросе является слиток, который несет эскорт. Перехватчик может изменить и проверить параметры, передаваемые в сетевом запросе, а затем освободить его. Это на самом деле разработало идею программирования АОП (аспектно-ориентированное программирование).
Прежде чем рассказывать о роли и преимуществах перехватчиков, нам все равно нужно вернуться к роли бандита. Если бы вы были бандитом, где бы вы устроили засаду? Это должно быть засада на единственном пути к эскорту. Другими словами, перехватчик должен перехватывать все сетевые запросы, по которым они должны пройти.
(1) Перехватчик может изменять все запросы и возвращать значения одновременно.
(2) Перехватчик может кодировать запрошенные параметры и возвращать результаты за один раз, например, с одинаковым значением UTF-8.
(3) Перехватчик может вести унифицированную запись журнала для всех запросов без добавления операции журнала в начале или в конце каждого запроса.
(4) Другие требования, требующие единой обработки запросов и возвратов .

Классификация перехватчиков в OkHttp
В OkHttp есть два перехватчика: перехват приложения на уровне приложения и перехват сети на уровне сетевого запроса.
(1) Перехватчик приложения должен перехватить запрос в начале выполнения, до того, как будет выполнен основной код OkHttp. Роль перехватчика приложения:
1) Не нужно беспокоиться о том, влияет ли это на стратегию запросов и скорость запросов OKHttp.
2) Даже если данные извлекаются из кеша, перехватчик приложения будет выполняться.
3) Повторная попытка разрешена, то есть Chain.proceed () может выполняться несколько раз. (Конечно, не выполняйте вслепую несколько раз, вам нужно добавить свое логическое суждение)
(2) Перехват сети перед подключением к сети.
1) Вы можете изменить некоторые атрибуты, автоматически добавленные фреймворком OkHttp (конечно, лучше не изменять).
2) Вы можете наблюдать окончательные полные параметры запроса (то есть данные запроса и сведения, полученные конечным сервером)

Пункты внимания
Если вы не знакомы с перехватчиками, в процессе разработки рекомендуется использовать Application Interception. Это позволяет избежать разрушения стратегии запросов OkHttp.

Общие практические сценарии
(1) Равномерно зашифруйте параметры запроса.
(2) Перехватить URL-адреса, не соответствующие правилам.
(3) Установите единый метод кодирования для параметров запроса или возврата.
(4) Другое .

Кодекс практики

Три, пакет OkHttp

1. Простая упаковка самостоятельно

2. Android — пакет фреймворка OKHttpUtils

Вступление
OKHttpUtils: структура сетевых запросов, направленная на упрощение сетевых запросов. Для любого сетевого запроса требуется всего одна строка кода. Это первичная и вторичная упаковка OKHttp. Цель упаковки — сделать сетевые запросы более удобными.

OKHttpUtils преимущество
(1) Высокая производительность, использование стандартного протокола okhttp для упаковки
OKHttp Мы знаем, что он поддерживает переподключение http2 и сокета. Автоматически выбирать лучший маршрут и поддерживать пул соединений собственным сокетом. Он может уменьшить количество подтверждений TCP, и он имеет пул потоков очереди для упрощения одновременных запросов.
(2) Уникальный режим сетевого кеширования.
OKHttpUtils недоступен в большинстве сетевых платформ. Например, сетевой руководитель нашей компании требует не только отображать сетевые данные при наличии сети, но и использовать кэшированные данные, когда сети нет. В настоящее время, когда мы используем обычные сетевые запросы, нам нужно много здравого смысла. Независимо от того, есть ли сеть или нет состояния сети, сохраняйте разные данные в соответствии с разными состояниями. Затем решите, использовать ли кеш. Но это обычный способ написания. Итак, OKHttpUtils использует автоматический режим сетевого кэширования. Позвольте пользователям сосредоточиться только на обработке данных.
(3) Удобный и простой в использовании интерфейс расширения.
Вы можете добавлять глобальные общедоступные параметры, глобальные перехватчики, глобальные тайм-ауты и настраивать перехватчики для отдельных запросов. Изменение параметров запроса и так далее.
(4) Эффективная стратегия хранения файлов cookie.
Получить файлы cookie на стороне клиента не так-то просто. Управление файлами cookie осуществляется автоматически на протяжении всего процесса, и предоставляются дополнительные методы управления файлами cookie. Введено дополнительное автоматическое управление. Добавьте все, что вы хотите создать Печенье.

Читайте также:  Как делать темы для android

Зависимый импорт пакетов

Сделать запрос на получение

Сделать запрос на публикацию

Используйте okhttp-utils, чтобы запросить одно изображение

Используйте okhttp-utils для загрузки нескольких или отдельных файлов

Обработка обратного вызова

В-четвертых, загрузка исходного кода проекта

Что касается всего учебного содержания okhttp, у нас есть систематизированная система знаний и расширенные видеоматериалы. Друзья, нуждающиеся в помощи, могут присоединиться к группе, чтобы получить бесплатные расширенные видеоуроки по Android, исходный код и материалы для интервью. В группе есть большие коровы, которые можно обсудить вместе технологии;Щелкните ссылку, чтобы присоединиться к групповому чату [Tencent @ AndroidAdvanced Architecture]
(включая настраиваемые элементы управления, NDK, дизайн архитектуры, смешанных инженеров-разработчиков (React native, Weex), оптимизацию производительности, полную разработку коммерческого проекта и т. д.)

Источник

Android OkHttp3 Http Get Post Request Example

This example will show you how to use OkHttp3 to send get or post HTTP request to a web server and how to parse and display response text in an Android TextView.

1. OKHttp Characters.

  1. OkHttp3 is a third-party open-source library that is contributed by the square company. It has below characters.
  2. User-friendly API.
  3. Support http2, sharing the same socket for all requests from a machine.
  4. Built-in connection pool, support for connection reuse, and reduction of delay.
  5. Supports transparent gzip compression response.
  6. Avoid duplicate requests by caching.
  7. Automatically retry the host’s other IP and redirect automatically when the request fails.

2. Add OkHttp3 Library In build.gradle.

  1. Before you can use the OkHttp3 library, you need to add dependencies in the build.gradle file in android studio as below.
  2. You can get the most recent build library from https://github.com/square/okhttp.
  3. After adding the below code, you need to click the Sync Now link in the top right corner to sync the project.

2. Use OkHttp3 To Create HTTP Get Request Method Call Object.

  1. The below source code snippet will use the OkHttp3 library to create an HTTP GET request.

3. Use OkHttp3 To Create HTTP Post Request Method Call Object.

  1. The below source code snippet will use the OkHttp3 library to create an HTTP POST request.

4. Send Http Request Synchronously And Asynchronously.

  1. You can send HTTP GET or POST requests with OkHttp3 synchronously or asynchronously.
  2. When you send the request synchronously, you need to run the code in a child thread because the process may take a long time.
  3. When you send the request asynchronously, the system will create a child thread and run OkHttp3 code in it automatically.

5. OkHttp Get Post Request Example.

Источник

Android studio okhttp примеры

Android OkHttp Example

May 27, 2017 by Srinivas

Android apps rely on rest services running on server for authentication & authorization, getting and posting data. Since the services on the web run on http protocol, in order to network with servers, android apps need http client. While there are several http client libraries and frameworks including volley which can be used in Android, OkHttp, an Http & Http/2 client, is widely used in android and java applications.

In this article, I am going to explain features of OkHttp and show how to use OkHttp in android to make http get, post, multipart, json and asynchronous request calls with examples.

OkHttp Supports Http/2

Below are some of the features of http/2

  • Http/2 is a binary protocol which is more efficient compared to text protocol Http.
  • Http/2 supports multiplexing meaning multiple requests and responses can be in flight at the same time on a connection.
  • Http/2 supports header compression leading to reduced network round trips.
  • Http/2 provides improved security.
Читайте также:  Heroes wog для андроид

Features of OkHttp.

OkHttp supports below features which make OkHttp an efficient http client with fast loading and reduced network bandwidth.

  • OkHttp supports Http/2 protocol.
  • Connection pooling can used for http protocol connections.
  • GZIP compression shrinks network data size.
  • Cache eliminates network round trip for repeating requests.
  • OkHttp silently recovers from network problems.
  • If your server is load balanced, OkHttp tries to connect other nodes when it fails to connect one of the nodes in load balancer.
  • OkHttp supports both synchronous and asynchronous calls.
  • You can use OkHttp on Android 2.3 and Java 7 versions onwards.

Add Library to Project

You can add OkHttp library to your project by adding below line to your module gradle property file.

Add Permission to Manifest

As below examples access rest services on server, internet permission is required. Add below permission to manifest xml file.

Android OkHttp Examples

In the below examples, the process of making reset service calls and updating UI with responses is executed in the background thread using AsyncTask. I provided below detailed explanation of each type of http request and complete android OkHttp example code.

Android OkHttp Get Example

Below code shows how to send http get request using OkHttp. To make an http get request call using OkHttp, you need to create Request object by using Request.Builder. Then call newCall method on OkHttpClient object passing the Request object. Finally, call execute() method on Call object to make http get request and receive response.

Above service call returns response in JSON format. Once you get JSON string from response by calling response.body().string(), you can use JSONOjbect or gson for parsing it. If you need more information on how to parse json in android, you can view my previous posts parsing JSON using JSONObject and parsing Json using gson library.

Android OkHttp Get Request With Query String Example

To make http get request call with query parameter using OkHttp, you need to use HttpUrl.Builder and add query parameter to it by calling addQueryParameter on HttpUrl.Builder as shown in below code.

Android OkHttp Post Example

To add post data to Request as key value pairs like data from html forms, you need to use FormBody.Builder, add post parameters to it, and create RequestBody as shown below.

Android OkHttp POST JSON Example

You can post json string to server using OkHttp. To do that, you need to create RequestBody object using create method on RequestBody passing json MediaType and json string as show below.

Android OkHttp Headers Example

You can add headers to request when request object is created or in intercepters by calling addHeader method on Request.Builder object.

Android OkHttp Async Call

In our examples, as UI needs to be updated with response after service call, entire process of making service calls and updating UI is done in the background using AsyncTask. But if you don’t need to use AsyncTask but only want to make http call asynchronously, you can do so by calling enqueue method on Call object passing Callback instead of execute method which makes http call synchronously.

Android OkHttp Multipart Example

To upload files or send multiple parts to http server, you need to send http multipart request. You can create multipart requests in OkHttp by building RequestBody using MultipartBody.Builder shown below. MultipartBody.Builder allows you to add data parts using addFormDataPart method.

Android OkHttp Example Code

Activity

Layout

About

Android app development tutorials and web app development tutorials with programming examples and code samples.

Источник

Оцените статью