, , , GPS (, ) . , , . , 2 :
AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
MainActivity.java public class MainActivity extends Activity { }
public class MainActivity extends Activity {
public double latitude;
public double longitude;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LocationManager mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationListener mlocListener = new MyLocationListener();
mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);
}
public class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location loc) {
latitude = loc.getLatitude();
longitude = loc.getLongitude();
String Text = "My current Latitude = " + latitude + " Longitude = " + longitude;
Toast.makeText( getApplicationContext(),Text,Toast.LENGTH_SHORT).show();
SendQueryString();
}
@Override
public void onProviderDisabled(String provider) {
Toast.makeText( getApplicationContext(),"Gps Disabled",Toast.LENGTH_SHORT ).show();
}
@Override
public void onProviderEnabled(String provider) {
Toast.makeText( getApplicationContext(),"Gps Enabled",Toast.LENGTH_SHORT).show();
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
}
public void SendQueryString() {
new Thread() {
public void run() {
String url = "http://mywebapp.com/coordinates/create?latitude=" + latitude +"&longitude=" + longitude;
try {
HttpClient Client = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
Client.execute(httpget);
}
catch(Exception ex) {
String fail = "Fail!";
Toast.makeText( getApplicationContext(),fail,Toast.LENGTH_SHORT).show();
}
}
}.start();
}
}
: , new Thread() { public void run() {/*code here*/}}.start(); SendQueryString(), , Android ' t , . , .