私は Google マップ v2 を使用しており、現在地を特定したいと考えています。Genymotionエミュレーターを使用しています。テスト デバイスで GPS を有効にする必要があります。エミュレーターでテストしていて、LocationManager を使用しようとしている場合、エミュレーターが「null」でアクティブ化されていない場合。Eclipse の「DDMS」パースペクティブを使用して、地理位置情報をエミュレーターに送信しています。ウィンドウ → パースペクティブを開く → その他... → DDMS.しかし、すべてのフィールドをクリックできるわけではありません。
ブレッドビンが言ったように実行しましたが、まだヌルポインター例外があります
`
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
map=((MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap();
map.setMyLocationEnabled(true);
LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
String provider = locationManager.getBestProvider(criteria, true);
Location myLocation = locationManager.getLastKnownLocation(provider);
map.setMapType(GoogleMap.MAP_TYPE_HYBRID);
double latitude = myLocation.getLatitude();
double longitude = myLocation.getLongitude();
LatLng latLng = new LatLng(latitude, longitude);
map.moveCamera(CameraUpdateFactory.newLatLng(latLng));
map.animateCamera(CameraUpdateFactory.zoomTo(20));
map.addMarker(new MarkerOptions().position(new LatLng(latitude, longitude)).title("You are here"));
}`
11-20 04:28:48.056: D/dalvikvm(1645): GC_FOR_ALLOC は 226K を解放し、2% は 16823K/17076K を解放し、7 ミリ秒を一時停止し、合計 7 ミリ秒 11-20 04:28:48.332: D/dalvikvm(1645): GC_FOR_ALLOC は 309K を解放し、2% は 17029K/17364K を解放し、7 ミリ秒を一時停止し、合計 7 ミリ秒 11-20 04:28:48.412: D/dalvikvm(1645): GC_FOR_ALLOC は 260K を解放し、2% は 17282K/17568K を解放し、6 ミリ秒を一時停止し、合計 6 ミリ秒 11-20 04:28:48.496: D/dalvikvm(1645): GC_FOR_ALLOC 解放 109K、2% 解放 17546K/17784K、一時停止 10ms、合計 10ms 11-20 04:28:48.540: D/dalvikvm(1645): GC_FOR_ALLOC は 28K を解放し、17906K/18084K を 1% 解放し、6 ミリ秒を一時停止し、合計 6 ミリ秒 11-20 04:28:48.540: D/AndroidRuntime(1645): VM をシャットダウンしています 11-20 04:28:48.540: W/dalvikvm(1645): threadid=1: キャッチされない例外で終了するスレッド (group=0xa4c49648) 11-20 04:28:48.544: E/AndroidRuntime(1645): 致命的な例外: メイン 11-20 04:28:48.544: E/AndroidRuntime(1645): java.lang.RuntimeException: アクティビティ ComponentInfo を開始できません {com.example.Mymaps/com.example.Mymaps.MainActivity}: java.lang.NullPointerException 11-20 04:28:48.544: E/AndroidRuntime(1645): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211) で 11-20 04:28:48.544: E/AndroidRuntime(1645): android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 11-20 04:28:48.544: E/AndroidRuntime(1645): android.app.ActivityThread.access$600(ActivityThread.java:141) 11-20 04:28:48.544: E/AndroidRuntime(1645): android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) で 11-20 04:28:48.544: E/AndroidRuntime(1645): android.os.Handler.dispatchMessage(Handler.java:99) 11-20 04:28:48.544: E/AndroidRuntime(1645): android.os.Looper.loop(Looper.java:137) 11-20 04:28:48.544: E/AndroidRuntime(1645): android.app.ActivityThread.main(ActivityThread.java:5103) 11-20 04:28:48.544: E/AndroidRuntime(1645): java.lang.reflect.Method.invokeNative(ネイティブメソッド) 11-20 04:28:48.544: E/AndroidRuntime(1645): java.lang.reflect.Method.invoke(Method.java:525) 11-20 04:28:48.544: E/AndroidRuntime(1645): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) で 11-20 04:28:48.544: E/AndroidRuntime(1645): com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 11-20 04:28:48.544: E/AndroidRuntime(1645): dalvik.system.NativeStart.main(ネイティブメソッド) 11-20 04:28:48.544: E/AndroidRuntime(1645): 原因: java.lang.NullPointerException 11-20 04:28:48.544: E/AndroidRuntime(1645): com.example.Mymaps.MainActivity.onCreate(MainActivity.java:33) 11-20 04:28:48.544: E/AndroidRuntime(1645): android.app.Activity.performCreate(Activity.java:5133) 11-20 04:28:48.544: E/AndroidRuntime(1645): android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 11-20 04:28:48.544: E/AndroidRuntime(1645): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175) 11-20 04:28:48.544: E/AndroidRuntime(1645): ... 11 もっと見る 11-20 04:28:48.840: W/ActivityThread(1645): ClassLoader.loadClass: Thread.getContextClassLoader() によって返されるクラス ローダーは、複数のアプリケーションをホストするプロセスで失敗する場合があります。コンテキスト クラス ローダーを明示的に指定する必要があります。例: Thread.setContextClassLoader(getClass().getClassLoader()); 11-20 04:45:28.501: W/ActivityThread(3967): ClassLoader.loadClass: Thread.getContextClassLoader() によって返されるクラス ローダーは、複数のアプリケーションをホストするプロセスで失敗する場合があります。コンテキスト クラス ローダーを明示的に指定する必要があります。例: Thread.setContextClassLoader(getClass().getClassLoader());