【发布时间】:2013-11-18 11:47:25
【问题描述】:
我是 protocol buffer 主题的新手。 但我知道 json 解析等等 现在我实际上正在研究这个协议缓冲区,我正在制作一个应用程序,它使用带有协议缓冲区的 android 进行 Http 请求和响应。
我正在使用 android 中的协议缓冲区制作一个登录页面。
服务的一切都在工作中返回我想要的每个字段的响应,但是 服务给我的信息与实际来自服务器的响应不同。
我对 .proto 文件的协议缓冲区和从 proto 编译 java 文件的工具有基本的了解,所有的连接也完成了,我只需要响应或如何序列化和反序列化响应消息。
**AuthenticateUserRequest.Builder abr = AuthenticateUserRequest
.newBuilder();
abr.setUserID(p_UserName);
abr.setPassword(p_Password);
URL url = new URL(
"http://10.0.2.2:49847/Services");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
// ResCode = conn.getResponseCode();
// URLConnection conn = url.openConnection();
conn.setRequestProperty("content-type", "application/x-protobuf");
conn.setDoOutput(true);
OutputStream os = conn.getOutputStream();
abr.build().writeTo(os);
os.flush();
os.close();
BufferedReader reader = new BufferedReader(new InputStreamReader(
conn.getInputStream()));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line);
}
byte[] result = String.valueOf(sb).getBytes();
AuthenticateUserResponse.parseFrom(result).toBuilder();**
这是我的任何人的代码都可以帮助我解决这个问题。
提前致谢。
【问题讨论】: