Php Android应用程序未与数据库同步

Php Android应用程序未与数据库同步,php,android,mysql,Php,Android,Mysql,我正在开发的Andriod应用程序使用Http-get/Posts,使用我网站上的PHP文件在mysql数据库上执行事务 在PHP方面,我使用JSON包装数据,以便在收到响应时在应用程序的java端进行解析。我最近修改了其中一个表,并从表中删除了不必要的值。当我使用网站上的PHP脚本进行轮询时,它会正确地进行轮询。当我使用应用程序时,它使用相同的PHP脚本进行轮询,它会返回我已经从数据库中删除的附加值 我重新启动了Eclipse,清理了项目,并重新启动了android VDM来刷新它;但是,它会

我正在开发的Andriod应用程序使用Http-get/Posts,使用我网站上的PHP文件在mysql数据库上执行事务

在PHP方面,我使用JSON包装数据,以便在收到响应时在应用程序的java端进行解析。我最近修改了其中一个表,并从表中删除了不必要的值。当我使用网站上的PHP脚本进行轮询时,它会正确地进行轮询。当我使用应用程序时,它使用相同的PHP脚本进行轮询,它会返回我已经从数据库中删除的附加值

我重新启动了Eclipse,清理了项目,并重新启动了android VDM来刷新它;但是,它会继续查找已删除的值。你知道发生了什么事吗

下面是我从应用程序连接到的php脚本:

<?php
mysql_connect("localhost", "******", "******");
mysql_select_db("bouncet2_pogoapp");

$query = "SELECT * FROM Event_Table ORDER BY Event ASC";
$sql = mysql_query($query);

while($row=mysql_fetch_assoc($sql))
$output[]=$row;

print(json_encode($output));

mysql_close();
?>

看起来您的响应被缓存在某个地方,在手机和服务器之间的缓存服务器中,或者在手机本身中

如果缓存发生在手机外部,添加适当的头来禁用缓存就可以了。这将由服务器添加到响应的标题中。有几种方法可以做到这一点,但我认为这应该是可行的

header("Expires: Tue, 03 Jul 2001 06:00:00 GMT");
在电话端,根据您从getHttpClient获得的HTTP客户端,它可能是一个打开了缓存的客户端。在冰激凌三明治中,谷歌向HttpUrlConnectionHTTP客户端添加了缓存。根据文档,必须打开缓存,但许多人似乎在不知情的情况下会遇到打开缓存的问题。我不太熟悉Android上各种HTTP客户端的交互工作,但这应该是一个好的开始

一个快速而肮脏的检查,看看是否有东西在缓存响应,将是添加一个随机的,未使用的参数到您的URL时,调用服务器,类似

url += "?unused=" + UUID.randomUUID();

有了这一点,您就不应该在任何地方缓存,然后您至少可以确定这是缓存问题还是其他问题,然后从那里开始。

这实际上是缓存问题。我不知道HTTP客户机允许缓存开始,并假设默认设置是禁用缓存。非常感谢你的帮助!
header("Expires: Tue, 03 Jul 2001 06:00:00 GMT");
url += "?unused=" + UUID.randomUUID();