WEB开发网
开发学院手机开发Android 开发 android 开发网络程序 阅读

android 开发网络程序

 2010-09-14 23:41:00 来源:WEB开发网   
核心提示:或 JSON 字符串并被发送回客户端,XML 和 JSON 用例非常类似和直接,android 开发网络程序(6),对于 protocol buffers,您必须生成 protocol buffers 格式的代码读写对象,在 清单 3 中,一个名为 toProtoBuf() 的方法将 Stock 对象列表转换成一个 P
或 JSON 字符串并被发送回客户端。

XML 和 JSON 用例非常类似和直接。对于 protocol buffers,您必须生成 protocol buffers 格式的代码读写对象。为此,您需要使用 protocol buffers 规范格式定义数据结构。清单 5 展示了一个示例:

清单 5. 股票的 Protocol buffers 消息


package stocks;

option java_package = "org.developerworks.stocks";

message Quote{
required string symbol = 1;
required string name = 2;
required double price = 3;
}

message Portfolio{
repeated Quote quote = 1;
}

protocol buffers 消息格式类似于接口描述语言 (IDL),它与语言无关,因此可以将其与各种语言一起使用。在本例中,运行 protocol buffers 编译器(protoc)将 清单 5 中的代码编译成要用于客户端和服务器的 Java 类。有关将 protocol buffers 消息编译成 Java 类的详细信息,请参阅 Protocol Buffers Developer Guide(参见 参考资料)。

在 清单 3 中,一个名为 toProtoBuf() 的方法将 Stock 对象列表转换成一个 Portfolio 消息。清单 6 展示了该方法的实现:

清单 6. 创建组合消息


public static Stocks.Portfolio toProtoBuf(List<Stock> stocks){
List<Stocks.Quote> quotes = new ArrayList<Stocks.Quote>(stocks.size());
for (Stock s : stocks){
Quote q =
Quote.newBuilder()
.setName(s.name)
.setSymbol(s.symbol)
.setPrice(s.price)
.build();
quotes.add(q);
}
return Portfolio.newBuilder().addAllQuote(quotes).build();
}

清单 6 中的代码使用了从 清单 5 中的消息生成的代码 — Quote 和 Portfolio 类。只需构建来自每个 Stock 对象的

上一页  1 2 3 4 5 6 7 8 9 10 11  下一页

Tags:android 开发 网络

编辑录入:coldstar [复制链接] [打 印]
赞助商链接