我尝试为PHP服务器创建httpPOST,但它不起作用,没有来自php服务器的响应。 MyLocationListener.java:
public class MyLocationListener implements LocationListener {
//mContext constructor to getapplicationcontext
private Context mContext;
public MyLocationListener(Context context) {
mContext = context;
}
// Dipanggil saat ada perubahan lokasi geografis pengguna
@Override
public void onLocationChanged(Location location) {
// Mendapatkan nilai latitude dari lokasi terbaru
double latitude = location.getLatitude();
// Mendapatkan nilai longitude dari lokasi terbaru
double longitude = location.getLongitude();
// Menampilkan lokasi terbaru menggunakan Toast
String message = "Lokasi saat ini :\n" +
"Latitude = " + latitude + "\n" +
"Longitude = " + longitude;
Toast.makeText(mContext,
message, Toast.LENGTH_LONG).show();
Thread kirim = new Thread(new Runnable() {
HttpClient httpClient = HttpClients.createDefault();
// replace with your url
HttpPost httpPost = new HttpPost("http://testing/locmaps.php");
public void run() {
//Post Data
List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(2);
nameValuePair.add(new BasicNameValuePair("latitude", "987654321"));
nameValuePair.add(new BasicNameValuePair("longitude", "123456789"));
//Encoding POST data
try {
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair));
} catch (UnsupportedEncodingException e) {
// log exception
e.printStackTrace();
}
//making POST request.
try {
HttpResponse response = httpClient.execute(httpPost);
// write response to log
Log.d("Http Post Response:", response.toString());
} catch (ClientProtocolException e) {
// Log exception
e.printStackTrace();
} catch (IOException e) {
// Log exception
e.printStackTrace();
}
}
});
kirim.start();
//makePostRequest();
}
// Dipanggil saat provider dinon-aktifkan oleh pengguna
@Override
public void onProviderDisabled(String provider) {
String message = "GPS disabled";
Toast.makeText(mContext,
message, Toast.LENGTH_LONG).show();
}
// dipanggil saat provider diaktifkan oleh pengguna
@Override
public void onProviderEnabled(String provider) {
String message = "GPS enabled";
Toast.makeText(mContext,
message, Toast.LENGTH_LONG).show();
}
// dipanggil saat ada perubahan status pada provider
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
}
GPSSample.java:
public class GPSSample extends Activity {
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Inisiasi LocationManager dan LocationListener
LocationManager myLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener myLocationListener = new MyLocationListener(this);
/* if (checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// public void requestPermissions(@NonNull String[] permissions, int requestCode)
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See the documentation
// for Activity#requestPermissions for more details.
return;
}*/
myLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, myLocationListener);
}
}
我的测试/ locmaps.php:
$sogilat = urldecode($_POST['latitude']);
$sogilong = urldecode($_POST['longitude']);
//$insertSQL1 = "INSERT INTO drvloc (latitude, longitude) VALUES $latitude, $longitude";
$insertSQL2 = "INSERT INTO drvloc (latitude, longitude) VALUES $sogilat, $sogilong";
mysql_select_db($database_connecttry, $connecttry);
//$Result1 = mysql_query($insertSQL1, $connecttry) or die(mysql_error());
$Result2 = mysql_query($insertSQL2, $connecttry) or die(mysql_error());
print " ==== POST DATA =====
Name : $sogilat
Email : $sogilong";
请帮忙,有什么不对吗?
之前谢谢