Domanda

Ho bisogno di aggiungere funzionalità GPS a un'applicazione Blackberry esistente che ho scritto. Scrivo una sola classe di supporto chiamato CurrentLocation, e includere un metodo per impostare le diverse variabili di posizione a cui tengo utilizzando il GPS BlackBerry in collaborazione con webservices geocoding inverso di Google. Tutto sta funzionando in modo bello, cioè, fino a quando cerco di istanziare la mia nuova classe nella mia applicazione principale.

Non importa quello che faccio, ho un LocationException! .getLocation () non funziona!

E mi confonde davvero, perché se un'istanza di mia classe in un App World di prova ciao, funziona bene.

Ci sono limiti a dove è possibile creare un'istanza classi? Io non ho incontrato alcun con le classi precedenti che ho scritto. In questo caso, sto istanziare la mia classe CurrentLocation in un ascoltatore (in modo che l'utente fa solo il lungo GPS e web chiama quando vogliono). Ho provato un'istanza in schermi, pure. Ho provato appena sventrare la classe e con la chiamata al metodo, ma che non funziona neanche.

C'è qualcosa che mi manca del tutto qui?

http://pastie.org/639545

C'è un link alla classe che sto facendo,

Ed ecco l'ascoltatore I "m cercando di creare un'istanza da. Sono in un thread evento perché ho pensato che potrebbe aiutare (ma ottengo la stessa eccezione anche se non lo faccio).

FieldChangeListener listenerGPS = new FieldChangeListener() {
        public void fieldChanged(Field field, int context) {
            UiApplication.getUiApplication().invokeLater(new Runnable() {
                public void run() {
                    CurrentLocation loc = new CurrentLocation();
                    if (loc != null){
                        country = loc.getCountry();
                        city = loc.getCity();
                        state = loc.getState();
                        road = loc.getRoad();
                        zip = loc.getZip();
                    }
                    }

            });

        }
    };

Che cosa mi manca qui?

È stato utile?

Soluzione

Va bene, ho capito. A quanto pare non è possibile chiamare getLocation () nella eventThread (non solo invokeLater, ma qualsiasi ascoltatore). Così ora quello che sto facendo sta ottenendo le coordinate di un filo al di fuori della manifestazione, e preoccuparsi di google separatamente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top