java - 向服务器发送 GPS 数据不起作用?

标签 java php android gps nmea

我正在尝试将 GPS 数据从 Android 手机发送到服务器。但它不起作用。我在这里附上了我的代码 fragment 。请检查并帮助我!

public void onNmeaReceived(long timestamp, String nmea) 
    { 
        String url = "http://www.xyz.com/server.php?DATA=";
        String params = URLEncoder.encode(nmea);
        url = url+params;
        HttpClient client = new DefaultHttpClient();
        HttpPost httppost = new HttpPost(url);
        try {
            HttpResponse httpResponse = client.execute(httppost);
            Log.d("Status", "Request Sent " + httpResponse.getStatusLine().getStatusCode());
            } 
        catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            } 
            Log.d("url", url);          
    }

我的输出是这样的!它被编码并发送。

08-03 22:37:01.062: DEBUG/url(15874): http://www.xyz.com/server.php?DATA=%24GPGSV%2C4%2C1%2C16%2C03%2C14%2C147%2C%2C06%2C05%2C140%2C%2C09%2C05%2C018%2C%2C11%2C73%2C251%2C*7E%0D%0A
08-03 22:37:01.172: DEBUG/url(15874): http://www.xyz.com/server.php?DATA=%24GPGSV%2C4%2C2%2C16%2C14%2C29%2C085%2C%2C17%2C%2C%2C%2C18%2C%2C%2C%2C19%2C48%2C147%2C*72%0D%0A
08-03 22:37:01.312: DEBUG/url(15874): http://www.xyz.com/server.php?DATA=%24GPGSV%2C4%2C3%2C16%2C20%2C14%2C213%2C%2C22%2C29%2C056%2C%2C24%2C57%2C260%2C%2C27%2C07%2C001%2C*75%0D%0A
08-03 22:37:01.432: DEBUG/url(15874): http://www.xyz.com/server.php?DATA=%24GPGSV%2C4%2C4%2C16%2C28%2C32%2C298%2C%2C32%2C36%2C194%2C%2C08%2C%2C%2C%2C31%2C%2C%2C*74%0D%0A
08-03 22:37:01.582: DEBUG/url(15874): http://www.xyz.com/server.php?DATA=%24GPGGA%2C%2C%2C%2C%2C%2C0%2C%2C%2C%2C%2C%2C%2C%2C*66%0D%0A
08-03 22:37:01.702: DEBUG/url(15874): http://www.xyz.com/server.php?DATA=%24GPVTG%2C%2CT%2C%2CM%2C%2CN%2C%2CK%2CN*2C%0D%0A
08-03 22:37:01.848: DEBUG/url(15874): http://www.xyz.com/server.php?DATA=%24GPRMC%2C%2CV%2C%2C%2C%2C%2C%2C%2C%2C%2C%2CN*53%0D%0A
08-03 22:37:01.962: DEBUG/url(15874): http://www.xyz.com/server.php?DATA=%24GPGSA%2CA%2C1%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C*1E%0D%0A

发送到服务器的数据是,

http://www.xyz.com/server.php?DATA=%24GPGSA%2CA%2C1%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C*1E%0D%0A

数据发送到服务器。 new1.nmea 文件已创建!但是当我输入“cat”查看里面的内容时,文件是空的!

服务器.php

<?php 
//$data = $_POST["DATA"].""; 
$data = file_get_contents('php://input');
$Handle = fopen("/xxx/xxx/new1.nmea", "a");
fwrite($Handle, $data);
fclose($Handle);
?>

我需要在服务器端使用相同格式的数据而不进行任何更改(nmea 0183 格式)。我震惊了!请帮我解决这个问题!

最佳答案

为什么您需要 NMEA 和 LocationUpdates,其中任何一个都可以。 当您说您需要 GPS 信息时,您需要 NMEA 字符串还是仅需要精度、时间、速度等位置属性?

当您尝试发送 NMEA 字符串时,您应该在 NMEAListener 中执行 HTTP 请求,而不是在 LocationListener 中执行?我很好奇,这首先的逻辑是什么。

关于java - 向服务器发送 GPS 数据不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6921579/

相关文章:

android - Android Build Tools 是否可以始终保持最新(而不是指定版本)

java - 使用 Hibernate 二级缓存和 HSQL 的令人失望的插入/更新率

php - MySQLi 返回一个带有 bind_result 的数组并且获取不工作

javascript - 在 PHP 中使用 AJAX 响应前置和覆盖类

php - PHP 中的 MySQL 查询,条件为数组

Android - 无法使用 traceview

java - 如何在 java 或 groovy 中查找两个日期之间的天数?

Java NIO 适合低延迟还是高吞吐量?

java - 任务是检查no的第一位是否为零?

java - 如何在 Listener 类中修复 "error: cannot find symbol method startActivity(Intent)"?