Ir ao conteúdo
  • Cadastre-se

Android - manipular getspeed()


Posts recomendados

.Pessoal, criei um velocímetro em Android e é funcional!
Porém eu gostaria de saber como faço para guardar a maior velocidade.
Tenho o seguinte:
   

public void onLocationChanged(Location location) {
        TextView txt = (TextView) this.findViewById(R.id.velocidade_inicial);
        TextView txt2 = (TextView) this.findViewById(R.id.velocidade_maxima);
        float maxima = 0;
        if(location==null){
            txt.setText("-.- km/h");
        }
        else{
            float nCurrentSpeed = (location.getSpeed()*3600/1000);
            txt.setText(nCurrentSpeed + " km/h");
            if (nCurrentSpeed>maxima){
                maxima = nCurrentSpeed;
                txt2.setText(maxima + " km/h");
            }
        }
    }


Está acontecendo o seguinte, ele atualiza o valor da minha velocidade atual e junto atualiza minha velocidade máxima, porém quando minha velocidade atual abaixa, minha velocidade maxima também abaixa junto! Por que acontece isso? Como faço a correção?

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois...
  • 10 meses depois...

Retire a variável float maxima = 0;  para fora do metodo  onLocationChanged, que dara certo pois esse metodo é chamado toda vez que a posição do dispositivo muda sendo assim você reinicia o valor dela toda vez, fazendo com que nCurrentSpeed seja sempre maior.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...