Autore Topic: verificare fix gps con booleano  (Letto 1212 volte)

Offline cadupper

  • Utente junior
  • **
  • Post: 81
  • Respect: 0
    • cadupper
    • Mostra profilo
  • Dispositivo Android:
    HTC Magic Tim (32A)
  • Play Store ID:
    cadupper
  • Sistema operativo:
    Ubuntu 10.04
verificare fix gps con booleano
« il: 20 Maggio 2011, 13:47:02 CEST »
0
Ciao a tutti..
Sono riuscito a far funzionare una classe che se premo un bottone salva la mia posizione gps.
Ho un paio di problemi. Intanto come faccio a controllare che il mio oggetto Location (sul quale chiamo .getLatitude() ) non sia null?
Infatti se il gps fa il fix e riceve la posizione tutto ok, ma se veglio richiamare lat e lon qunando ancora il gps è in ricerca l'app mi crasha..
Vi lascio il pezzo di codice della classe
Codice (Java): [Seleziona]
// SET TO MY POSITION button
                bu_cooHere.setOnClickListener(new View.OnClickListener() {
                        public void onClick(View v) {
                                if (currentLoc.equals(null)) {               //PERCHÈ NON VA BENE FARE COSI?
                                        Toast.makeText(getApplicationContext(),"Wait for the GPS fix", Toast.LENGTH_LONG).show();      

                                } else {
                                        double lat = currentLoc.getLatitude();
                                        double lon = currentLoc.getLongitude();
                                        Toast.makeText(getApplicationContext(),
                                                        "Your position is saved",
                                                        Toast.LENGTH_LONG).show();
                                        lat_micro = (int) (lat * 1E6);
                                        lon_micro = (int) (lon * 1E6);
                                        TextView CooTv = (TextView) findViewById(R.id.tv_nevent_Coo);
                                        CooTv.setText(lat_micro / 1E6 + ", " + lon_micro / 1E6);
                                }
                        }
                });
E questo è il logcat:
Codice: [Seleziona]
E/AndroidRuntime(  520): FATAL EXCEPTION: main
E/AndroidRuntime(  520): java.lang.NullPointerException
E/AndroidRuntime(  520):         at it.unipd.dei.es1011.droidgrill.AddNewEvent$2.onClick(AddNewEvent.java:79)
E/AndroidRuntime(  520):         at android.view.View.performClick(View.java:2408)
E/AndroidRuntime(  520):         at android.view.View$PerformClick.run(View.java:8816)
E/AndroidRuntime(  520):         at android.os.Handler.handleCallback(Handler.java:587)
E/AndroidRuntime(  520):         at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(  520):         at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(  520):         at android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime(  520):         at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(  520):         at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(  520):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime(  520):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime(  520):         at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager(   58):   Force finishing activity it.unipd.dei.es1011.droidgrill/.AddNewEvent
W/ActivityManager(   58): Activity pause timeout for HistoryRecord{44ecc5e0 it.unipd.dei.es1011.droidgrill/.AddNewEvent}



Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:verificare fix gps con booleano
« Risposta #1 il: 20 Maggio 2011, 13:50:17 CEST »
0
Cambia in:

currentLoc == null

Offline cadupper

  • Utente junior
  • **
  • Post: 81
  • Respect: 0
    • cadupper
    • Mostra profilo
  • Dispositivo Android:
    HTC Magic Tim (32A)
  • Play Store ID:
    cadupper
  • Sistema operativo:
    Ubuntu 10.04
Re:verificare fix gps con booleano
« Risposta #2 il: 20 Maggio 2011, 14:02:35 CEST »
0
grazie! ero convinto di aver già provato! :)

Offline cadupper

  • Utente junior
  • **
  • Post: 81
  • Respect: 0
    • cadupper
    • Mostra profilo
  • Dispositivo Android:
    HTC Magic Tim (32A)
  • Play Store ID:
    cadupper
  • Sistema operativo:
    Ubuntu 10.04
Re:verificare fix gps con booleano
« Risposta #3 il: 20 Maggio 2011, 14:06:56 CEST »
0
Un altra domanda. Uno volta che ho salvato la mia posizione, ho due modi per procedere, ma sia che prema un pulsante OK che dia indietro con il tasto fisico devo tornare all'activity precedente.

Il mio problema è questo. Qualsiasi azione io intraprenda il gps non termina di cercare la posizione, infatti vedo l'icona del gps che rimane li in alto nella barra, e io vorrei invece che una volta che ho finito il gps non fosse più utilizzato!