【问题标题】:How can I interface an Android app with SQL Server?如何将 Android 应用程序与 SQL Server 连接?
【发布时间】:2014-09-16 10:11:06
【问题描述】:

这是我的问题:

我必须制作一个 Android 应用程序,该应用程序可以从位于 Microsoft SQL Server 安装在 Windows Server 2003 上的现有数据库中恢复一些数据。我对服务器端编程语言不太了解,所以我在互联网上搜索,发现我的应用程序和连接到数据库的ASP Classic页面之间必须使用Web Service .

我还发现我必须使用SOAP 来通过我的应用程序将数据发送到服务器,使用Android 上的ksoap2 库,我找到了如何在客户端配置它。但我找不到如何配置 WebService 以及哪种格式更适合连接我的应用程序和 ASP Classic 页面。

【问题讨论】:

    标签: android sql sql-server web-services asp-classic


    【解决方案1】:

    其实很简单。您需要做的就是创建一个以JSON 格式显示结果的网络服务。然后,您需要从您的 Android 应用程序运行 HTTP 请求,以获取包含 JSON 对象的 JSON 数组,然后您将从数据库中获取数据。

    例如:webservice 将有一个用 ASP 编写的带有 SELECT 语句的函数。在返回结果之前,您需要将其编码为 JSON。查看 JSON Encode (MSDN)。

    Android 应用将连接到 Web 服务链接并简单地检索 JSON 编码数据。我会把你放在正确的地方。您只需使用像这样的 sn-p 从 Web 服务获取数据:

    AsyncHttpClient client = new AsyncHttpClient();
    
    client.get("http://yourwebservice.aspx", new AsyncHttpResponseHandler() {
        @Override
        public void onSuccess(String response) {
            JSONArray jarr = new JSONArray(response);
            for(int i = 0; i < jarr.length(); ++i) {
                JSONObject jobj = jarr.getJSONObject(i);
                // Do your things...
            }
        }
    });
    

    【讨论】:

    • 好的,谢谢您的回复。但是...您使用了 client.get("yourwebservice.aspx" ... ".aspx" 是否与经典的 ASP 页面兼容?因为我发现了很多带有 aspx 页面的示例,但我不确定它是否兼容。 抱歉,我按下了“发送”按钮:/
    • 太棒了!我会尝试,我会回复结果。非常感谢 Nadir :)
    • 欢迎您,如果答案正确,您能接受吗?
    • 当然,现在我在服务器上上传一个 aspx 文件来尝试.. :) 手指交叉
    • 怎么了?你明白了吗?
    【解决方案2】:

    Web APIWCF 中创建RESTful Web 服务。 Web API 将与数据库通信,而您的 Android 应用程序将与网络服务通信。

    【讨论】:

    • 但是使用 RestFull 网络服务我不能使用 ksoap2 库,它似乎很容易从 android 配置.. 对吗?
    • 在android客户端不需要使用kso​​ap2,你可以形成一个带有所需数据的Json对象,并将其发布到你的Web服务中的某个特定URL(通过URL中的HTTP客户端)。在 Web 服务中,您需要处理该数据并将其存储在数据库中。在Android客户端将Json对象转换为Java对象,可以使用gson
    • 看起来很酷。 :) 但是哪个扩展将有网络服务? wsdl、aspx、asp、asmx ??
    • 您可以在没有任何扩展的情况下配置 Web 服务端点。
    猜你喜欢
    • 2014-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-01
    相关资源
    最近更新 更多