【问题标题】:Sharing java classes between web-service and client-side在 Web 服务和客户端之间共享 Java 类
【发布时间】:2015-10-13 11:40:57
【问题描述】:

我正在编写 android 应用程序作为我的最终项目。它连接到云上的 java web 服务。 我的问题是我想使用复杂的 Java 对象并在我的 android 应用程序和云上的 Web 服务之间共享它们。

例如,我有“Mission”类,我想使用将“Mission”类型参数作为参数或返回“Mission”类型的方法。我想将这些复杂对象用作字符串、整数或布尔值。

我可以创建一个库或 jar 文件或在客户端和服务器端保存这些类的东西吗?

我应该怎么做才能在服务器端和客户端之间使用这些类和复杂的 java 对象,就像我们使用 String 或其他常规 java 类型一样?

【问题讨论】:

  • RESTful Web 服务复杂对象作为参数 - stackoverflow.com/a/6292702/4807777
  • 您的意思是您不想创建库或 jar 文件或在客户端和服务器端保存这些类的东西吗?
  • 或者你想要共享对象,例如关于请求正文的改造示例 - square.github.io/retrofit
  • 实现Serializable接口,使用ObjectInputStreamObjectOutputStream读写对象。更多信息:stackoverflow.com/questions/14969461/…
  • 我想从 Web 服务创建一个返回多个值的方法。我的意思是,就像我有具有 ID 号(int)、名称(字符串)等的 Mission 类,然后从 android 应用程序中我将获取这些值并将它们全部放入一个名为“Mission”的类中。如果我可以制作一个库或 jar 文件来保存这些类,然后在服务器端和客户端之间使用它们......就像我使用 String 或 Integer 等一样。我认为这可能很棒!

标签: java android web-services


【解决方案1】:

最好的方法是使用 JSON。它无法传输所有数据。

              URL url = new URL("Your Web Service URL");

              // Send POST data request

              URLConnection conn = url.openConnection(); 
              conn.setDoOutput(true); 
              OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); 
              wr.write( data ); 
              wr.flush(); 

              // Get the server response 

              reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
              StringBuilder sb = new StringBuilder();
              String line = null;

                // Read Server Response
                while((line = reader.readLine()) != null)
                    {
                           // Append server response in string
                           sb.append(line + "");
                    }

                // Append Server Response To Content String 
               Content = sb.toString();

样本:

http://androidexample.com/Restful_Webservice_Call_And_Get_And_Parse_JSON_Data-_Android_Example/index.php?view=article_discription&aid=101&aaid=123

【讨论】:

  • 非常感谢!但是网络服务上的方法应该是什么?我应该如何使用它将多个值(不同类型的)从 web 服务发送到 android 应用程序? (当然是一种方法)
猜你喜欢
  • 1970-01-01
  • 2021-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-04
相关资源
最近更新 更多