我目前正在尝试一些非常简单的事情,我想只向php web服务器发送一个变量。
我见过很多例如this的例子。但是,当我尝试使用当前代码插入它们时,它会返回错误,我不确定我需要如何处理它。
我当前的Java(部分)代码如下所示:
public void mahGPSbutton() {
Button myGPS_button = (Button) findViewById(R.id.GPS_button);
myGPS_button.setTextColor(Color.CYAN);
myGPS_button.setOnClickListener(new View.OnClickListener() {
//#
public void onClick(View v) {
LocationManager locationManager = (LocationManager) MainActivity.this.getSystemService(Context.LOCATION_SERVICE); //#
LocationListener locationListener = new LocationListener() { //#
public void onLocationChanged(Location location) {
double MyLat = location.getLatitude();
double MyLong = location.getLongitude();
double MyAlt = location.getAltitude();
String MyProvider = location.getProvider();
float MyAccuracy = location.getAccuracy();
double alt=MyAlt;
String url = "www.[IP of my web server]/[A Folder]/Binder.php";
}
public void onStatusChanged(String provider, int status, Bundle extras) {} //#
public void onProviderEnabled(String provider) {} //#
public void onProviderDisabled(String provider) {}
//#
}; //#
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
//#
} //#
});
}
我知道......没有任何东西可以发送,但就像我说过我已经尝试了很多方法并且他们都犯了一些错误,即使没有错误,我仍然无法将它们发送到php文件。
无论如何,对于php代码我决定保持简单,所以就像:
<?php
echo 'I have received this parameter: '.$_GET['MyLat'];
?>
现在,(如果我是对的)只有java代码的问题,我该怎么做才能使这个工作?或者我可以得到一些可能有用的想法吗?
此致
答案 0 :(得分:1)
你可以发送你的字符串网址
类似的东西
String url = "www.[IP of my web server]/[A Folder]/Binder.php?myLat="+ MyLat;
然后你可以发出GET请求
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet request = new HttpGet();
request.setURI(url);
HttpResponse httpResponse = httpClient.execute(request);
如果某些var中有特殊字符,则需要对var
进行编码String myLatEnconde = URLEncoder.encode(MyLat);
或者像这样做
String url = "www.[IP of my web server]/[A Folder]/Binder.php?myLat="+ URLEncoder.encode(MyLat);