Android: Связь HTTP должна использовать “Принятый закодированный: gzip”

Используйте свой код приложения в качестве, что он прилагает все усилия: логика дескриптора.
Пользователь Ваша база данных для того, что это прилагает все усилия: храните данные.

можно отладить хранимые процедуры, но Вы найдете легче отладить и maintaing логика в коде. Обычно Вы будете заканчивать перекомпиляцию Вашего кода каждый раз, когда Вы изменяете модель базы данных.

Также хранимые процедуры с дополнительными поисковыми параметрами очень inneficient, потому что необходимо определить заранее все возможные параметры, и сложные поиски иногда не возможны, потому что Вы наклоняетесь, предсказывают, сколько раз параметр будет повторным в seach.

108
задан znq 15 October 2009 в 16:10
поделиться

2 ответа

Вы должны использовать заголовки http, чтобы указать, что соединение может принимать данные в формате gzip, например:

HttpUriRequest request = new HttpGet(url);
request.addHeader("Accept-Encoding", "gzip");
// ...
httpClient.execute(request);

Проверить ответ на кодировку содержимого:

InputStream instream = response.getEntity().getContent();
Header contentEncoding = response.getFirstHeader("Content-Encoding");
if (contentEncoding != null && contentEncoding.getValue().equalsIgnoreCase("gzip")) {
    instream = new GZIPInputStream(instream);
}
174
ответ дан 24 November 2019 в 03:30
поделиться

Я не использовал GZip, но предполагаю, что вам следует использовать входной поток из вашего HttpURLConnection или ] HttpResponse как GZIPInputStream , а не какой-то конкретный другой класс.

1
ответ дан 24 November 2019 в 03:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: