java - 使用Web服务开发带有服务器的Android应用程序

标签 java android web-services

我正在开发客户端/服务器应用程序(客户端是一个向服务器发送数据的 Android 应用程序)。我正在使用 Java 开发服务器。我已经使用 SQL Navigator 5.5“使用 NetBeans”连接了服务器应用程序。我想用Json作为中间件,但不知道怎么做! XML 还是 Json 哪个最合适?我需要使用 HTTP 吗?如果是这样,如何(因为我希望能够保护应用程序)?

服务器应该响应的另一件事是 Android 应用程序发送“经度和纬度”,Android 应该对此进行“地理编码”并以 map “位置”的形式显示。另外,我需要更多地了解应在应用程序上运行的 Web 服务的概念。

这是服务器代码: (服务器应该从客户端获取的值是“long 和 lat”) /* * 要更改此模板,请选择“工具”|“模板 * 并在编辑器中打开模板。 */

package pkg;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;


@WebService(serviceName = "lbsws")
public class lbsws {

    /** This is a sample web service operation */
    @WebMethod(operationName = "hello")
    public String hello(@WebParam(name = "name") String longg) {


        String result=null;
        try
        {



        Connection con = dbConnection.getdbConnection("system","lbs","orcll", "localhost");
        Statement st = con.createStatement(); 


        String lat ="10";

        String query="select longg,lat,abs(("+longg+"-longg))/abs(("+lat+"-lat)) as function1 from lbs where abs(("+longg+"-longg))/abs(("+lat+"-lat)) = ("+
        "select min(abs(("+longg+"-longg))/abs(("+lat+"-lat))) from lbs)";

        ResultSet rs = st.executeQuery(query);
        while(rs.next())
        {
            result = rs.getFloat("longg")+","+ rs.getFloat("lat")+"-"+ rs.getFloat("function1");
        }
        }
        catch(Exception e)
        {
            System.out.println(e.toString());
        }
        return result;
    }

}

最佳答案

一些事情:

1) JSON 对传输层表示赞赏。不要再考虑了。

2) 使用 JSON Web 服务。在基于 Java 的系统中使用 HttpClient。只是为了得到回复 您可以根据需要将 JSON 转换为对象。但调用Web服务是通过HttpClient

3) 创建 JSON 服务。那么你可以使用 Jersey 。有几个选择。我建议在 Tomcat 服务器中进行开发。它速度更快,并且不像 Java EE 服务器那样上下波动。除了 Jersey 之外,还有其他一些不错的选择。

但主要是先写最简单的东西,然后让它从头到尾地工作。这就是你想做的。

只需生成一个返回系统时间的服务并通过 JSON 发送回来,在客户端上使用它并显示。然后重新评估 Jersey 与其他什么。但要让一些东西端到端地运行。

所以第一步是编写一个 JSON Web 服务并在浏览器中测试它。现在不用担心客户端。只需让服务运行并使用浏览器调用它即可。顺便说一句,我们有理由选择 RESTful JSON Web 服务。这是构建 Web 服务的好方法。

永远不要同时解决两个问题。忘记连接到数据库,直到您使用已 stub 的数据启动并运行服务。

关于java - 使用Web服务开发带有服务器的Android应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11531499/

相关文章:

java - 使用自定义 android 主题全息颜色

java - saaj.soap 到 xml.soap 在 Glassfish 中抛出异常

java - 如何使用 Apache POI 以编程方式从 Powerpoint 演示文稿中读取图形值?

java - 为什么不能在方法内部创建非静态类的静态对象?

android - 默认值/strings.xml 的语言

java - Android - 带有菜单图标而不是后退按钮的抽屉导航

java - LUCENE_40 无法解析或不是字段

java - Android Room Sqlite 没有这样的列,而不是在 WHERE 条件下使用等号 (=)

java - 使用不同参数调用 REST WS

java - WS动态客户端和complexType参数