Как определить скорость устройства Android

Я пытался определить скорость автомобиля Android, но мне не удалось использовать location.getSpeed ​​(). Вместо этого я решил использовать метод barebones, в котором я сохраняю прошедшее время и расстояние и использую их для определения значения скорости. Единственная проблема, которая у меня есть сейчас, заключается в том, что она дает мне ноль при вызове функции. По какой причине? Спасибо за помощь.

Я использую пробег, чтобы иметь задержку между показаниями при движении устройства.


 public double calculateVelocity() {
        Location firstspeedvalue = new Location("speedcheck");
        double[] Speedval = getGPS();
        firstspeedvalue.setLatitude(Speedval[0]);
        firstspeedvalue.setLongitude(Speedval[1]);

        long starttime = System.nanoTime();

        final Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
              
            }
        }, 10000);


        Location secondspeedvalue = new Location("speedcheck");
        double[] newSpeed = getGPS();
        secondspeedvalue.setLatitude(newSpeed[0]);
        secondspeedvalue.setLongitude(newSpeed[1]);

        long secondTime = System.nanoTime();

        Double elapsedTime = Double.valueOf(starttime - secondTime);

        Double totalDistance = calculateDistanceKM(firstspeedvalue.getLatitude(), firstspeedvalue.getLongitude(), secondspeedvalue.getLatitude(), secondspeedvalue.getLongitude());

        double velocity = totalDistance / elapsedTime;

        Log.d("valuescheck", String.valueOf(velocity));
        return velocity;
    }

проверить это stackoverflow.com/questions/13285677/…

Ankit Mishra 06.04.2021 22:21
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
15
0

Другие вопросы по теме