Android:发送要存储在MySQL中的数据

nhu*_*ton 6 php mysql android

解决:缺少postData()的视图参数,更改为反映此.

我想帮助将GPS数据发送到服务器,服务器将使用PHP存储在MySQL数据库中.

这是在我的Java文件中:

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());
    }           
}
Run Code Online (Sandbox Code Playgroud)

我的PHP:

<?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';
?>
Run Code Online (Sandbox Code Playgroud)

StackTrace:Project - Heat [Android应用程序]

 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'
Run Code Online (Sandbox Code Playgroud)

Com*_*are 5

堆栈跟踪的第一行告诉您确切的错误:

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'
Run Code Online (Sandbox Code Playgroud)

那是因为你ViewpostData()方法声明中没有参数.

  • @Herly:是的,有时候我希望从LogCat到我的大脑有一个直接的神经接口.OTOH,LogCat相当健谈,我头脑中的其他声音会变得嫉妒. (2认同)