안드로이드 개발 질문/답변
(글 수 45,052)
맵뷰를 테스트해보고 있습니다.
다음처럼 에러가 나네요. 모토로이에서도 마찬가지 입니다.
apiKey 발급해서 적어주고, AndroidManifest.xml 에
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-library android:name="com.google.android.maps" />
이렇게도 적어주고.
소스부분은 다음과 같습니다.
mapView 생성하고 밑의
//mapView.setBuiltInZoomControls(true);
//mapView.setSatellite(true);
이 부분이 문제입니다. 없이 그냥 띄우면 맵이 잘 뜹니다.
그런데, mapView 의 매소드라고 해야 하나요?
setBuiltInZoomControls , setBuiltInZoomControls 등을 사용하려고 하면 저런 에러가 납니다.
뭔가 또 권한 설정이 필요한 것일까요?
다음처럼 에러가 나네요. 모토로이에서도 마찬가지 입니다.
The application tMyMap, ... has stopped unexpectedly. Please try again.
!죄송합니다. tMyMap 응용프로그램(com.test.tMyMap 프로세스)이 예상치 않게 중지되었습니다. 다시 시도해 주세요. 닫기.
apiKey 발급해서 적어주고, AndroidManifest.xml 에
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-library android:name="com.google.android.maps" />
이렇게도 적어주고.
소스부분은 다음과 같습니다.
public class tMyMap extends MapActivity { private MapView mapView; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mapView = (MapView) findViewById(R.id.mapview); //mapView.setBuiltInZoomControls(true); //mapView.setSatellite(true); } @Override protected boolean isRouteDisplayed(){ return false; }
mapView 생성하고 밑의
//mapView.setBuiltInZoomControls(true);
//mapView.setSatellite(true);
이 부분이 문제입니다. 없이 그냥 띄우면 맵이 잘 뜹니다.
그런데, mapView 의 매소드라고 해야 하나요?
setBuiltInZoomControls , setBuiltInZoomControls 등을 사용하려고 하면 저런 에러가 납니다.
뭔가 또 권한 설정이 필요한 것일까요?
2010.02.22 00:00:55
DDMS 를 이용해 찍어봤습니다.
//mapView.setBuiltInZoomControls(true);
//mapView.setSatellite(true);
를 주석처리했느냐 적용했느냐의 차이만 있음.
성공했을때의 로그
02-21 14:32:07.416: INFO/ActivityManager(52): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.androiday.testMap/.tMapView }
02-21 14:32:07.515: ERROR/ActivityThread(225): Failed to find provider info for com.google.settings
02-21 14:32:07.525: ERROR/ActivityThread(225): Failed to find provider info for com.google.settings
02-21 14:32:07.525: WARN/MapActivity(225): Recycling dispatcher com.google.googlenav.datarequest.DataRequestDispatcher@43d03ec8
02-21 14:32:07.585: VERBOSE/MapActivity(225): Recycling map object.
02-21 14:32:07.755: INFO/MapActivity(225): Handling network change notification:CONNECTED
02-21 14:32:07.765: ERROR/MapActivity(225): Couldn't get connection factory client
02-21 14:32:07.875: INFO/ActivityManager(52): Displayed activity com.androiday.testMap/.tMapView: 412 ms (total 412 ms)
실패했을때의 로그
02-21 14:33:11.884: INFO/ActivityManager(52): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.androiday.testMap/.tMapView }
02-21 14:33:11.974: INFO/ActivityManager(52): Start proc com.androiday.testMap for activity com.androiday.testMap/.tMapView: pid=272 uid=10027 gids={3003}
02-21 14:33:12.274: DEBUG/ddm-heap(272): Got feature list request
02-21 14:33:12.724: ERROR/ActivityThread(272): Failed to find provider info for com.google.settings
02-21 14:33:12.734: ERROR/ActivityThread(272): Failed to find provider info for com.google.settings
02-21 14:33:12.774: ERROR/ActivityThread(272): Failed to find provider info for com.google.settings
02-21 14:33:12.934: DEBUG/AndroidRuntime(272): Shutting down VM
02-21 14:33:12.934: WARN/dalvikvm(272): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
02-21 14:33:12.934: ERROR/AndroidRuntime(272): Uncaught handler: thread main exiting due to uncaught exception
02-21 14:33:12.944: ERROR/AndroidRuntime(272): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.androiday.testMap/com.androiday.testMap.tMapView}: java.lang.NullPointerException
02-21 14:33:12.944: ERROR/AndroidRuntime(272): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2481)
02-21 14:33:12.944: ERROR/AndroidRuntime(272): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2497)
02-21 14:33:12.944: ERROR/AndroidRuntime(272): at android.app.ActivityThread.access$2200(ActivityThread.java:119)
02-21 14:33:12.944: ERROR/AndroidRuntime(272): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1848)
02-21 14:33:12.944: ERROR/AndroidRuntime(272): at android.os.Handler.dispatchMessage(Handler.java:99)
02-21 14:33:12.944: ERROR/AndroidRuntime(272): at android.os.Looper.loop(Looper.java:123)
02-21 14:33:12.944: ERROR/AndroidRuntime(272): at android.app.ActivityThread.main(ActivityThread.java:4338)
02-21 14:33:12.944: ERROR/AndroidRuntime(272): at java.lang.reflect.Method.invokeNative(Native Method)
02-21 14:33:12.944: ERROR/AndroidRuntime(272): at java.lang.reflect.Method.invoke(Method.java:521)
02-21 14:33:12.944: ERROR/AndroidRuntime(272): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
02-21 14:33:12.944: ERROR/AndroidRuntime(272): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
02-21 14:33:12.944: ERROR/AndroidRuntime(272): at dalvik.system.NativeStart.main(Native Method)
02-21 14:33:12.944: ERROR/AndroidRuntime(272): Caused by: java.lang.NullPointerException
02-21 14:33:12.944: ERROR/AndroidRuntime(272): at com.androiday.testMap.tMapView.onCreate(tMapView.java:18)
02-21 14:33:12.944: ERROR/AndroidRuntime(272): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-21 14:33:12.944: ERROR/AndroidRuntime(272): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2444)
02-21 14:33:12.944: ERROR/AndroidRuntime(272): ... 11 more
02-21 14:33:12.964: INFO/Process(52): Sending signal. PID: 272 SIG: 3
02-21 14:33:12.964: INFO/dalvikvm(272): threadid=7: reacting to signal 3
02-21 14:33:12.964: ERROR/dalvikvm(272): Unable to open stack trace file '/data/anr/traces.txt': Permission denied
02-21 14:33:14.814: INFO/Process(272): Sending signal. PID: 272 SIG: 9
02-21 14:33:14.825: INFO/ActivityManager(52): Process com.androiday.testMap (pid 272) has died.
02-21 14:33:14.864: WARN/UsageStats(52): Unexpected resume of com.android.launcher while already resumed in com.androiday.testMap
02-21 14:33:15.045: WARN/InputManagerService(52): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@43b9e648
02-21 14:33:15.054: ERROR/gralloc(52): [unregister] handle 0x4ba638 still locked (state=40000001)
2010.02.22 00:04:39
02-21 14:32:07.416: INFO/ActivityManager(52): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.androiday.testMap/.tMapView } 02-21 14:32:07.515: ERROR/ActivityThread(225): Failed to find provider info for com.google.settings 02-21 14:32:07.525: ERROR/ActivityThread(225): Failed to find provider info for com.google.settings 02-21 14:32:07.525: WARN/MapActivity(225): Recycling dispatcher com.google.googlenav.datarequest.DataRequestDispatcher@43d03ec8 02-21 14:32:07.585: VERBOSE/MapActivity(225): Recycling map object. 02-21 14:32:07.755: INFO/MapActivity(225): Handling network change notification:CONNECTED 02-21 14:32:07.765: ERROR/MapActivity(225): Couldn't get connection factory client 02-21 14:32:07.875: INFO/ActivityManager(52): Displayed activity com.androiday.testMap/.tMapView: 412 ms (total 412 ms)
02-21 14:33:11.884: INFO/ActivityManager(52): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.androiday.testMap/.tMapView } 02-21 14:33:11.974: INFO/ActivityManager(52): Start proc com.androiday.testMap for activity com.androiday.testMap/.tMapView: pid=272 uid=10027 gids={3003} 02-21 14:33:12.274: DEBUG/ddm-heap(272): Got feature list request 02-21 14:33:12.724: ERROR/ActivityThread(272): Failed to find provider info for com.google.settings 02-21 14:33:12.734: ERROR/ActivityThread(272): Failed to find provider info for com.google.settings 02-21 14:33:12.774: ERROR/ActivityThread(272): Failed to find provider info for com.google.settings 02-21 14:33:12.934: DEBUG/AndroidRuntime(272): Shutting down VM 02-21 14:33:12.934: WARN/dalvikvm(272): threadid=3: thread exiting with uncaught exception (group=0x4001b188) 02-21 14:33:12.934: ERROR/AndroidRuntime(272): Uncaught handler: thread main exiting due to uncaught exception 02-21 14:33:12.944: ERROR/AndroidRuntime(272): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.androiday.testMap/com.androiday.testMap.tMapView}: java.lang.NullPointerException 02-21 14:33:12.944: ERROR/AndroidRuntime(272): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2481) 02-21 14:33:12.944: ERROR/AndroidRuntime(272): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2497) 02-21 14:33:12.944: ERROR/AndroidRuntime(272): at android.app.ActivityThread.access$2200(ActivityThread.java:119) 02-21 14:33:12.944: ERROR/AndroidRuntime(272): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1848) 02-21 14:33:12.944: ERROR/AndroidRuntime(272): at android.os.Handler.dispatchMessage(Handler.java:99) 02-21 14:33:12.944: ERROR/AndroidRuntime(272): at android.os.Looper.loop(Looper.java:123) 02-21 14:33:12.944: ERROR/AndroidRuntime(272): at android.app.ActivityThread.main(ActivityThread.java:4338) 02-21 14:33:12.944: ERROR/AndroidRuntime(272): at java.lang.reflect.Method.invokeNative(Native Method) 02-21 14:33:12.944: ERROR/AndroidRuntime(272): at java.lang.reflect.Method.invoke(Method.java:521) 02-21 14:33:12.944: ERROR/AndroidRuntime(272): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 02-21 14:33:12.944: ERROR/AndroidRuntime(272): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 02-21 14:33:12.944: ERROR/AndroidRuntime(272): at dalvik.system.NativeStart.main(Native Method) 02-21 14:33:12.944: ERROR/AndroidRuntime(272): Caused by: java.lang.NullPointerException 02-21 14:33:12.944: ERROR/AndroidRuntime(272): at com.androiday.testMap.tMapView.onCreate(tMapView.java:18) 02-21 14:33:12.944: ERROR/AndroidRuntime(272): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 02-21 14:33:12.944: ERROR/AndroidRuntime(272): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2444) 02-21 14:33:12.944: ERROR/AndroidRuntime(272): ... 11 more 02-21 14:33:12.964: INFO/Process(52): Sending signal. PID: 272 SIG: 3 02-21 14:33:12.964: INFO/dalvikvm(272): threadid=7: reacting to signal 3 02-21 14:33:12.964: ERROR/dalvikvm(272): Unable to open stack trace file '/data/anr/traces.txt': Permission denied 02-21 14:33:14.814: INFO/Process(272): Sending signal. PID: 272 SIG: 9 02-21 14:33:14.825: INFO/ActivityManager(52): Process com.androiday.testMap (pid 272) has died. 02-21 14:33:14.864: WARN/UsageStats(52): Unexpected resume of com.android.launcher while already resumed in com.androiday.testMap 02-21 14:33:15.045: WARN/InputManagerService(52): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@43b9e648 02-21 14:33:15.054: ERROR/gralloc(52): [unregister] handle 0x4ba638 still locked (state=40000001)
2010.02.22 01:34:41
apikey 잘못이면 아예 맵이 안나와야 정상이죠?
맵은 나오는데...
//mapView.setBuiltInZoomControls(true);
//mapView.setSatellite(true);
를 사용하려 하면 문제네요.
맵은 나오는데...
//mapView.setBuiltInZoomControls(true);
//mapView.setSatellite(true);
를 사용하려 하면 문제네요.
2010.02.24 00:23:59
성공했을때의 에러라고 뜨는 것들은 저도 모토로이에서 실제 구동시 항상 뜨는것들이네요. 어플 동작하는데는 별 문제없는 것들이구요.
실패시의 로그를 보면 두줄에 거의 모든게 나와있네요.
02-21 14:33:12.944: ERROR/AndroidRuntime(272): Caused by: java.lang.NullPointerException
02-21 14:33:12.944: ERROR/AndroidRuntime(272): at com.androiday.testMap.tMapView.onCreate(tMapView.java:18)
보시다시피 널포인터익셉션이 잡혔으니 무언가 어떤 인스턴스 변수가 값이 null일것이겠네요.
if문이나 어떠한 메소드등에서 반환이 안되는지 확인하시구요.
그에 대한 힌트는 두번째줄 tMapView.java 클래스의 18번째 줄에 있겠네요..
참고로 디버그 창에서 로그 보실때 우측 위에 보면 5가지 영문자 들어있는 아이콘 있는데 그중에 빨간색으로 E라고 되어있는것
누르시면 보기에 훨씬 낫답니다 :)
실패시의 로그를 보면 두줄에 거의 모든게 나와있네요.
02-21 14:33:12.944: ERROR/AndroidRuntime(272): Caused by: java.lang.NullPointerException
02-21 14:33:12.944: ERROR/AndroidRuntime(272): at com.androiday.testMap.tMapView.onCreate(tMapView.java:18)
보시다시피 널포인터익셉션이 잡혔으니 무언가 어떤 인스턴스 변수가 값이 null일것이겠네요.
if문이나 어떠한 메소드등에서 반환이 안되는지 확인하시구요.
그에 대한 힌트는 두번째줄 tMapView.java 클래스의 18번째 줄에 있겠네요..
참고로 디버그 창에서 로그 보실때 우측 위에 보면 5가지 영문자 들어있는 아이콘 있는데 그중에 빨간색으로 E라고 되어있는것
누르시면 보기에 훨씬 낫답니다 :)