我有一個PHP腳本,用於查詢web服務。我希望將此查詢的結果插入到Firebase實時數據庫的一行中。然後,這個Firebase數據庫將被Android應用程序監視更改。在Firebase中壓縮數據
每行文本的數量通常可能是800 Kb,所以我想壓縮它。否則,在OnDataChanged事件發生之前,我的應用程序需要下載800 Kb。
我所做的是(在PHP腳本)
遵循我接受800KB串形成的Web服務。 然後我在PHP腳本中運行GZip。 結果,我使用Base64_Encode,這就是我將結果插入到Firebase的結果。
它似乎工作正常,我似乎得到約90%的壓縮,意味着只插入80Kb而不是800Kb。然而,這是一個「圓屋」的方式來做到這一點。
有沒有更好的方法來做到這一點?當然必須有。有沒有什麼辦法讓Firebase轉換爲GZip字符串發送給我的應用程序?在所有應用程序使用Firebase SDK之後。
這裏是PHP代碼寫入到火力地堡......
$compressed_gzipjson = gzencode($jsonresponse, 9);
$firebase->set(DEFAULT_PATH . '/' , base64_encode($compressed_gzipjson));
任何意見非常歡迎的確。
稍微修正,780KB壓縮到110Kb,還是不錯的。 – JohnMoll
而不是在評論中添加更正,單擊您的問題下的[編輯](http://stackoverflow.com/posts/37534908/edit)鏈接,您可以修復它。 –