2012-03-28 2 views
-1

Я делаю небольшое приложение, которое требует текущих значений GPS. Для этого я прочитал много руководств, и я попытался использовать этот sample code. но я не получаю значения. когда я запускаю код, который принудительно закрывает приложение. Вот мой логарифм.Не получать текущие значения GPS

03-27 12:57:49.881: E/AndroidRuntime(604): FATAL EXCEPTION: main 
03-27 12:57:49.881: E/AndroidRuntime(604): java.lang.UnsatisfiedLinkError: onCreate 
03-27 12:57:49.881: E/AndroidRuntime(604): at com.google.android.maps.MapActivity.onCreate(Native Method) 
03-27 12:57:49.881: E/AndroidRuntime(604): at com.android.and.AndActivity.onCreate(AndActivity.java:48) 
03-27 12:57:49.881: E/AndroidRuntime(604): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
03-27 12:57:49.881: E/AndroidRuntime(604): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
03-27 12:57:49.881: E/AndroidRuntime(604): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
03-27 12:57:49.881: E/AndroidRuntime(604): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
03-27 12:57:49.881: E/AndroidRuntime(604): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
03-27 12:57:49.881: E/AndroidRuntime(604): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-27 12:57:49.881: E/AndroidRuntime(604): at android.os.Looper.loop(Looper.java:123) 
03-27 12:57:49.881: E/AndroidRuntime(604): at android.app.ActivityThread.main(ActivityThread.java:4627) 
03-27 12:57:49.881: E/AndroidRuntime(604): at java.lang.reflect.Method.invokeNative(Native Method) 
03-27 12:57:49.881: E/AndroidRuntime(604): at java.lang.reflect.Method.invoke(Method.java:521) 
03-27 12:57:49.881: E/AndroidRuntime(604): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
03-27 12:57:49.881: E/AndroidRuntime(604): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
03-27 12:57:49.881: E/AndroidRuntime(604): at dalvik.system.NativeStart.main(Native Method) 

EDIT

Вот моя активность.

+0

Покажите свой код AndActivity 'onCreate (..)' code и xml, который вы используете для этой операции. –

+0

@ a.ch Я добавил свою AndActivity здесь. – wolverine

+0

Какая строка занимает 48-е место в вашей деятельности? –

ответ

0

Привет, у меня есть код, работающий на моем телефоне. код не работает в моем эмуляторе. Когда я устанавливаю это на телефоне, он отлично работает. Спасибо за ответы.

1

Некоторые полезные ссылки для получения собственных текущих координат GPS.

http://www.firstdroid.com/2010/04/29/android-development-using-gps-to-get-current-location-2/

http://www.oudmaijer.com/2010/04/15/android-retrieving-your-current-location/

http://developer.android.com/guide/topics/location/obtaining-user-location.html

http://about-android.blogspot.in/2010/04/find-current-location-in-android-gps.html

http://www.android10.org/index.php/articleslocationmaps/209-obtaining-user-location

http://www.android10.org/index.php/articleslocationmaps/226-android-location-providers-gps-network-p

Вы можете найти более легкую и понятную информацию о получении текущих GPS-координат пользователя. Некоторые из учебников также есть. Надеюсь, что это поможет вам.

EDIT

Попробуйте это ...

public class gpsactivity { 

    private static final int gpsMinTime = 6000; 
    private static final int gpsMinDistance = 1; 

    private LocationManager locationManager = null; 
    private LocationListener locationListener = null; 
    private Location location; 
    private String bestProvider; 
    private GPSCallback gpsCallback = null; 
    private GeomagneticField geoField; 

    public gpsactivity() { 
     locationListener = new LocationListener() { 
      public void onProviderDisabled(final String provider) { 
      } 

      public void onProviderEnabled(final String provider) { 
      } 

      public void onLocationChanged(final Location location) { 
       if (location != null && gpsCallback != null) { 
//     gpsCallback.onGPSUpdate(location); 

        geoField = new GeomagneticField(
          Double.valueOf(location.getLatitude()).floatValue(), 
          Double.valueOf(location.getLongitude()).floatValue(), 
          Double.valueOf(location.getAltitude()).floatValue(), 
          System.currentTimeMillis() 
         ); 
       } 
      } 

      @Override 
      public void onStatusChanged(String arg0, int arg1, Bundle arg2) { 
       // TODO Auto-generated method stub 
      } 
     }; 
    } 

    public Location getCurrentLocation() { 

     if (locationManager != null && bestProvider != null 
       && bestProvider.length() > 0) { 
      location = locationManager.getLastKnownLocation(bestProvider); 
     } 
     return location; 
    } 

И называть этот класс по

gpsManager = new gpsactivity();    
    location = gpsManager.getCurrentLocation(); 

    if (gpsManager != null) 
      { 
       Longitude = location.getLongitude(); 
       Latitude = location.getLatitude(); 


       if (location != null) 
       { 
        location.setLatitude(Latitude); 
        location.setLongitude(Longitude);   
       } 
      } 

      intLatitude = (int) (Latitude * 1000000); 
      intLongitude = (int) (Longitude * 1000000); 

Спасибо ...

+0

Thak you, я уже пробовал никаких кодов, но не получаю выход. Я получаю o/p только тогда, когда я отправляю значения из элемента управления эмулятора. – wolverine

+0

ссылку на мое редактирование ... –

0

попробовать это удалить реализует LocationListener из общественный класс AndActivity расширяет активность реализует LocationListener

и создать отдельный класс, как общественного класса MyLocationListener реализует LocationListener

и реализовать функции переопределения в этом классе.

0

Эй Volworin сказал правильно ..

эмулятор мы не получить место Curent GPS .. Вы должны и должны установить приложение в телефон ..

К вами первым о статусе GPS в Телефон.

по этой ссылке .. click link

Я уже попробовал и протестировать его в андроида мобильного телефона .. Его рабочим.

приятный день.

Смежные вопросы