سؤال

أحتاج إلى إضافة وظيفة GPS إلى تطبيق BlackBerry موجود قمت به. أكتب فئة مستقلة تسمى CurrentLocation، وتضمين طريقة لتعيين متغيرات الموقع المختلفة التي أهتم بها باستخدام BlackBerry GPS جنبا إلى جنب مع خدمة الإنترنت العكسي لجهاز Google. كل شيء يعمل بشكل جميل، أي، حتى أحاول إنشاء فئة بلدي الجديدة في تطبيقي الرئيسي.

بغض النظر عن ما أقوم به، أحصل على موقع! .getlocation () لا يعمل!

إنه حقا يربكني، لأنه إذا قمت بإنشاء فئتي في تطبيق اختبار Hello World، فهذا يعمل على ما يرام.

هل هناك حدود إلى حيث يمكنك إنشاء فكرات؟ لم أواجه أي مع فصول سابقة كتبتها. في هذه الحالة، أنا مثيل لفئة الوالج الخاصة بي في مستمع (بحيث يقوم المستخدم فقط بإجراء أجهزة GPS فقط ومكالمات الويب عندما يريدون). لقد حاولت Instantiating It In الشاشات أيضا. لقد حاولت فقط تعشيم الفصل واستخدام مكالمة الأسلوب، ولكن هذا لا يعمل أيضا.

هل هناك شيء أفتقده بالكامل هنا؟

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

            });

        }
    };

ما أنا في عداد المفقودين هنا؟

هل كانت مفيدة؟

المحلول

حسنا حصلت عليه. من الواضح أنك لا تستطيع الاتصال بالإقلاع () في EventThead (وليس فقط Invokelater، ولكن أي مستمع). حتى الآن ما أفعله هو الحصول على الإحداثيات في مؤشر ترابط خارج الحدث، والقلق بشأن Google بشكل منفصل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top