【问题标题】:Android Send data back to serverAndroid 将数据发送回服务器
【发布时间】:2011-03-29 11:02:43
【问题描述】:

如何将数据从 android 应用程序发送回服务器?

我已经尝试过使用 HttpPost 并将其发回 RESTful WCF 服务,但我无法让它工作(我已经为此创建了一个 SO 问题,但没有找到解决方案..) - 不管我做什么我是否一直收到 405 Method not allowed 或 400 Bad Request.. :(

我不一定要求完整的代码示例。只是一个方向指针,它可以使我能够将数据发送回服务器。

重要的是用户不应该允许或拒绝转移。它应该在幕后发生,可以这么说

提前致谢

【问题讨论】:

  • “但是有没有另一种发送数据的方式,不涉及服务” - 信鸽?
  • 我想到的是诸如 FTP 传输或电子邮件之类的东西......随便......我需要做的就是将数据发送到服务器。
  • 没有人对此有任何建议吗?...我现在很绝望..

标签: android data-transfer


【解决方案1】:

服务是要走的路。 REST(我在 Android 上推荐这个),或基于 SOAP。有很多关于让 android 应用程序与服务通信的教程,即使是 .net / wcf 的。

您总是可以只打开原始套接字并使用一些自定义协议发送数据。

编辑:

这是我的 asynctask 处理 http post 通信的 doInBackground 部分,也许这会有所帮助:

protected String doInBackground(String... req) {

        Log.d(TAG, "Message to send: "+req[0]);
        HttpPost p = new HttpPost(url);

        try{
            p.setEntity(new StringEntity(req[0], "UTF8"));
        }catch(Exception e){
            e.printStackTrace();
        }
        p.setHeader("Content-type", "application/json");

        String response = "";
        try{
            HttpResponse resp = hc.execute(p, localContext);
            InputStream is = resp.getEntity().getContent();
            response = convertStreamToString(is);
            Log.d("Response", "Response is " + response);
        } catch (Exception e){
            e.printStackTrace();
        }

        return response;
     }

【讨论】:

  • 问题是我已经创建了一个 WCF,我已经在托管它了,但我根本无法向它发送数据。我可以发送 GET 请求,但所有 http POST 请求都是返回为 (HTTP 400 Bad Request).. 所以我正在寻找替代方案,因为我在星期五有截止日期,而且我已经在服务解决方案上花费了 2-3 天
  • 我不是 WCF 专家,但在我的项目中,我必须与数十个 wcf 服务进行通信,并使用 http post 消息。在 Android 端,它与发送 GET 请求没有太大区别。我对 WCF 方面不太了解,您确定它已正确实施吗?
  • 老实说,不,我不确定.. 但是我在网上遵循了示例,我的 WCF 与它们相同。而我的 GetData 方法(GET 请求)只能正常工作。它只是失败的 Data 方法(POST 请求)。但我现在正在四面八方寻找解决方案
猜你喜欢
  • 1970-01-01
  • 2012-07-19
  • 2015-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 2016-07-28
  • 1970-01-01
相关资源
最近更新 更多