试图找出通过android向服务器发送数据的最佳方法

时间:2014-05-31 14:29:17

标签: android sql-server database queue

我试图找出将两个字符串和一个整数发送到服务器的最佳方法。我应该使用数据库吗?我想实现队列效果,而不是真正在线存储数据太久。我只想用不同的程序获取队列中的信息。 android只需要将数据发送到Web服务器,但我不确定我应该研究哪种数据结构。

所以我真的在寻找可以在网络服务器上运行的某种脚本的想法,以及如何通过android实现发送给他们。我不需要特定的代码,但我可以研究的想法也会起作用。我真的很感激任何帮助。

1 个答案:

答案 0 :(得分:0)

简单,编码您需要在JSON中发送的内容并发送它。我将在下面引用一个示例,我有一个运行Django的服务器,并且当我使用post请求点击url时,已经设置了一个API来将数据保存到数据库中。我发送位置(纬度和经度)以及当前日期时间。在我的服务器上,视图运行并解析json,然后将其保存到DB。

在您的情况下,您可以按照自己的方式操作数据,而不是保存数据。

    try 
    {
            double la = 30.1955600 ;
            double lo = 71.4752800;
            Time t = new Time(Time.getCurrentTimezone());
            t.setToNow();
            String date = t.format("%Y-%m-%d %H:%M:%S");


            JSONObject o1 = null;                                                               
            o1 = new JSONObject();
            o1.put("latitude", loc.latitude);
            o1.put("longitude", loc.longitude);
            o1.put("date_added", date);




            // http call//
            HttpClient httpClient = new DefaultHttpClient();

            HttpPost request = new HttpPost("the url you want to hit");

            StringEntity _params =new StringEntity(o1.toString());

            request.addHeader("content-type", "application/json");

            request.setEntity(_params);
            HttpResponse response = httpClient.execute(request);    
    //check to see if we got a response

            if (response.getEntity() != null)
                HomeScreen.location_sent = true;
            else
                HomeScreen.location_sent = false;

    }
    catch (Exception e) 
    {
        e.getMessage();
    }