我正在开发的 Andriod 应用程序使用 Http Gets/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();
?>
至于我在应用程序中使用脚本的代码:
try {
String response = CustomHttpClient.executeHttpGet("http://www.*****.com/****/****/***/GetEvents.php");
//System.out.println(response);
try {
eventArray = new JSONArray(response);
//Log.i(SelectEventActivity.class.getName(), "Number of entries " + eventArray.length());
m_adapterForSpinner = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item);
m_adapterForSpinner.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
event_Spinner.setAdapter(m_adapterForSpinner);
for (int i = 0; i < eventArray.length(); i++) {
JSONObject jsonObject = eventArray.getJSONObject(i);
m_adapterForSpinner.add(jsonObject.getString("Event"));
//Log.i(AddJumpersActivity.class.getName(), jsonObject.getString("Event"));
}
} catch (Exception e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
函数 executeHttpGet(URL) 是 CustomHttpClient 类的一部分,如下所示:
public static String executeHttpGet(String url) throws Exception {
StringBuilder builder = new StringBuilder();
HttpClient client = getHttpClient();
HttpGet request = new HttpGet();
request.setURI(new URI(url));
try {
HttpResponse response = client.execute(request);
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode();
if (statusCode == 200) {
Log.i(CustomHttpClient.class.toString(), "System Status OK");
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(content));
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
}
} else {
Log.e(CustomHttpClient.class.toString(), "Failed to download file");
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return builder.toString();
}