У меня есть PHP-скрипт, который делает запрос к веб-сервису. Я хочу, чтобы результаты этого запроса были вставлены в строку в базе данных реального времени Firebase. Затем эта база данных firebase отслеживается для изменений в приложении для Android.Сжатие данных в Firebase
Количество текста в строке может составлять 800 КБ, поэтому я хотел бы сжать это. В противном случае моему приложению понадобится загрузить 800 Kb до того, как произойдет событие OnDataChanged.
То, что я сделал это следующим образом (в PHP скрипт)
Я принимаю строка 800кбит образуют веб-службы. Затем я запускаю GZip в скрипте PHP. В результате я затем использую Base64_Encode, и именно это я вставляю результат в Firebase.
Кажется, что все нормально, и я, кажется, получаю около 90% сжатия, а это означает, что только 80 КБ вставлено вместо 800 КБ. Это, однако, способ «обойти дома».
Есть ли лучший способ сделать это? Конечно, должно быть. Есть ли способ получить Firebase для GZip, строка отправляет в мое приложение? В конце концов приложение использует Firebase SDK.
Вот PHP код, который пишет Firebase ...
$compressed_gzipjson = gzencode($jsonresponse, 9);
$firebase->set(DEFAULT_PATH . '/' , base64_encode($compressed_gzipjson));
Любые советы очень приветствуются действительно.
Небольшая коррекция, 780 КБ сжимается до 110 КБ, все еще довольно хорошо. – JohnMoll
Вместо добавления исправления в комментарии щелкните ссылку [edit] (http://stackoverflow.com/posts/37534908/edit) по вашему вопросу, и вы можете исправить ее на месте. –