質問

私が書いた既存のBlackBerryアプリケーションにGPS機能を追加する必要があります。私はCurrentLocationと呼ばれるスタンドアローンクラスを作成し、Googleの逆ジオコーディングWebサービスと連携してブラックベリーGPSを使用することによって、私は気にさまざまな場所変数を設定する方法が挙げられます。私は私のメインのアプリケーションに私の新しいクラスをインスタンス化しようとするまですべては、つまり、美しく取り組んでいます。

どんなに私は何をすべきか、私はLocationExceptionを取得していません! .getLocation()は動作しません!

私はテストハローワールドアプリで私のクラスをインスタンス化した場合、それだけで正常に動作しますので、

それは本当に、私を混乱させる。

は、クラスをインスタンス化することができる場所に制限はあり?私は私が書いた以前のクラスといずれも遭遇していませんでした。この場合、私は、リスナーに私のCurrentLocationクラスをインスタンス化しています(ので、彼らがしたいときに、ユーザーは長く、GPSやウェブ呼び出しを行います)。私も、画面でそれをインスタンス化しようとしました。私はクラスをguttingし、メソッド呼び出しを使用して試してみたが、それはどちらか動作しません。

私は完全にここに欠けている何かがありますか?

http://pastie.org/639545する

私が作っているクラスへのリンクがあります、

私はそれが役立つかもしれない(しかし、私はこれを行うか否かに関係なく、同じ例外を取得)と思ったので、

そして、ここで私は "メートルからインスタンス化しようとしているリスナーがあります。私は、イベントスレッドにいます。

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();
                    }
                    }

            });

        }
    };

私はここに行方不明だ?

役に立ちましたか?

解決

さて、私はそれを得ました。どうやらあなたはeventThread(invokeLaterないだけではなく、任意のリスナー)でのgetLocation()を呼び出すことはできません。だから今、私はイベントの外でスレッドの座標を取得していること、および別途グーグルを心配しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top