-9

電話センサーまたはGPSを使用して速度を計算する方法。それを使って距離などを計算したいです。人が移動している速度を知りたい。電話がポケットに入っていても。どうすればこれを行うことができますか?可能であれば、サンプルコードを提供してください。

4

1 に答える 1

0

これは、GPSを使用してAndroid携帯の速度を計算するための例です...

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) {
            loc.getLatitude();
            loc.getLongitude();

            Geocoder gcd = new Geocoder(getApplicationContext(),
                    Locale.getDefault());
            try {
                mAddresses = gcd.getFromLocation(loc.getLatitude(),
                        loc.getLongitude(), 1);

            } catch (IOException e) {

            }

            String cityName = (mAddresses != null) ? mAddresses.get(0)
                    .getLocality() : TimeZone.getDefault().getID();
            String countryName = (mAddresses != null) ? mAddresses.get(0)
                    .getCountryName() : Locale.getDefault().getDisplayCountry()
                    .toString();


            mCurrentSpeed.setText(loc.getSpeed());
        }

        @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) {
        }
    }
于 2012-07-14T08:51:01.330 に答える