Php Android:发送数据存储在MySQL中
已解决:缺少postData()的视图参数,已更改以反映这一点 我想在发送GPS数据到服务器方面得到一些帮助,该服务器将使用PHP存储在MySQL数据库中 这在我的Java文件中:Php Android:发送数据存储在MySQL中,php,android,mysql,Php,Android,Mysql,已解决:缺少postData()的视图参数,已更改以反映这一点 我想在发送GPS数据到服务器方面得到一些帮助,该服务器将使用PHP存储在MySQL数据库中 这在我的Java文件中: ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); public void postData(View v) { nameValuePairs.add(new BasicNameValu
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
public void postData(View v)
{
nameValuePairs.add(new BasicNameValuePair("Lat","19.80"));
nameValuePairs.add(new BasicNameValuePair("Lon","13.22"));
//http post
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new
HttpPost("http://www.xxxxxxxx.com/test.php");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
Log.i("postData", response.getStatusLine().toString());
}
catch(Exception e)
{
Log.e("log_tag", "Error in http connection "+e.toString());
}
}
您是否已将
添加到manifest.xml中?我认为您应该在线程中调用它。。。如果服务器挂起一点响应,就会收到强制关闭消息
你可以看看这篇文章:堆栈跟踪的第一行准确地告诉你做错了什么:
02-06 00:37:14.265:ERROR/AndroidRuntime(1607):致命异常:main
02-06 00:37:14.265:错误/AndroidRuntime(1607):java.lang.IllegalStateException:在id为“dropLocBtn”的视图类android.widget.Button上的onClick处理程序的活动类com.NathanUnston.heat.Main中找不到方法postData(视图)
这是因为在
postData()
方法声明中没有View
参数。我认为问题在于,nameValuePairs.add(newbasicNameValuePairs(“Lat”,“19.80”);行中使用了Lat和$\u POST['Lat'],您已经使用了lat。所以Lat和Lat是不同的东西。顺便说一下,这是一篇好文章。它真的很管用,希望你喜欢。是的,我正试图将GPS坐标发送到一个要存储的数据库,我可以访问位置,我只是有一个真正的头痛发送任何形式的数据到服务器。是什么。。。你的舱单上有那一行吗?在Debug透视图下检查Logcat是否有stacktrace并将其发布。很抱歉,我不清楚,是的,我的清单文件中有这一行。您应该检查Logcat输出并将stacktrace发布到此处。@dave.c发布了跟踪,从我现在看到的情况来看,我有一个非法状态异常,因此,与虚拟机未处于正确状态有关……我认为这不是您的日志输出。您可以使用eclipse中的视图或独立工具来获取输出。查看详细信息。@dave.c是的,当模拟器崩溃时,你是对的,我的logcat坏了,我现在就发布日志。谢谢你(修复)的例子,对我帮助很大。@Herly:是的,有时候我希望logcat有一个直接连接到我大脑的神经接口。OTOH,LogCat很健谈,我脑子里的其他声音会嫉妒的。我们现在希望这样,是吗。
<?php
include 'connect.php'; //Connect
//retrieve the data
$lat = $_POST['lat'];
$lon = $_POST['lon'];
$sql = "INSERT INTO Coords (Lat, Lon) VALUES('$lat', '$lon')";
if (!mysql_query($sql, $sqlCon))
{
die('Error: ' . mysql_error());
}
else
{
//echo "1 record added";
}
include 'closeConnection.php';
?>
02-06 00:37:14.265: ERROR/AndroidRuntime(1607): FATAL EXCEPTION: main
02-06 00:37:14.265: ERROR/AndroidRuntime(1607): java.lang.IllegalStateException: Could
not find a method **postData(View)** in the activity class com.nathanhunston.heat.Main for
onClick handler on view class android.widget.Button with id 'dropLocBtn'