【发布时间】:2012-02-13 03:36:29
【问题描述】:
我们正在开发一个 iphone 应用程序,它将用户去过的位置的 json 字符串发送到部署在谷歌应用程序引擎上的网络应用程序 (JAVA)。我们使用 htpp 请求来发送这些字符串。我们的问题是字符串有时很大,这需要很长时间。还有其他方法吗?
【问题讨论】:
标签: ios json http google-app-engine servlets
我们正在开发一个 iphone 应用程序,它将用户去过的位置的 json 字符串发送到部署在谷歌应用程序引擎上的网络应用程序 (JAVA)。我们使用 htpp 请求来发送这些字符串。我们的问题是字符串有时很大,这需要很长时间。还有其他方法吗?
【问题讨论】:
标签: ios json http google-app-engine servlets
您可以压缩 JSON。这是 GAE 的一段代码:
JSONObject json = new JSONObject(uncompress(Base64.decode(encodedJSONData)));
这是解压方法:
protected String uncompress(byte[] compressedData) throws IOException {
StringBuffer data = new StringBuffer();
GZIPInputStream stream = new GZIPInputStream(new ByteArrayInputStream(compressedData));
BufferedReader br = new BufferedReader(new InputStreamReader(stream));
String line;
while ((line = br.readLine()) != null) {
data.append(line);
}
return data.toString();
}
【讨论】:
如果您的系统正在发送位置集合,请尝试不要一次发送所有位置,而是将整个集合拆分为小块,并以您估计的大小不会花费太多时间。
另一个想法:如果您将此发送作为后台进程进行,主进程(如在用户界面中)不应该受到惩罚。
【讨论】: