2012-04-18 3 views
0

Android에서지도보기 구현을 처음 사용했습니다. 나는 google지도를 포함 할 새로운 활동을 (단추 누르기에) 발사하는 것을 시도하고있다. 나는 http://developer.android.com/guide/tutorials/views/hello-mapview.html에 언급 된 모든 것을하고있는 것처럼 보입니다. 그러나 나는 다음과 같은 오류를 받고 있어요 : -의도를 통해지도 작업을 시작할 때 NoClassDefFoundError 받기

04-18 12:11:11.332: E/AndroidRuntime(629): FATAL EXCEPTION: main 
04-18 12:11:11.332: E/AndroidRuntime(629): java.lang.IllegalStateException: Could not execute method of the activity 
04-18 12:11:11.332: E/AndroidRuntime(629): at android.view.View$1.onClick(View.java:2144) 
04-18 12:11:11.332: E/AndroidRuntime(629): at android.view.View.performClick(View.java:2485) 
04-18 12:11:11.332: E/AndroidRuntime(629): at android.view.View$PerformClick.run(View.java:9080) 
04-18 12:11:11.332: E/AndroidRuntime(629): at android.os.Handler.handleCallback(Handler.java:587) 
04-18 12:11:11.332: E/AndroidRuntime(629): at android.os.Handler.dispatchMessage(Handler.java:92) 
04-18 12:11:11.332: E/AndroidRuntime(629): at android.os.Looper.loop(Looper.java:130) 
04-18 12:11:11.332: E/AndroidRuntime(629): at android.app.ActivityThread.main(ActivityThread.java:3683) 
04-18 12:11:11.332: E/AndroidRuntime(629): at java.lang.reflect.Method.invokeNative(Native Method) 
04-18 12:11:11.332: E/AndroidRuntime(629): at java.lang.reflect.Method.invoke(Method.java:507) 
04-18 12:11:11.332: E/AndroidRuntime(629): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
04-18 12:11:11.332: E/AndroidRuntime(629): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
04-18 12:11:11.332: E/AndroidRuntime(629): at dalvik.system.NativeStart.main(Native Method) 
04-18 12:11:11.332: E/AndroidRuntime(629): Caused by: java.lang.reflect.InvocationTargetException 
04-18 12:11:11.332: E/AndroidRuntime(629): at java.lang.reflect.Method.invokeNative(Native Method) 
04-18 12:11:11.332: E/AndroidRuntime(629): at java.lang.reflect.Method.invoke(Method.java:507) 
04-18 12:11:11.332: E/AndroidRuntime(629): at android.view.View$1.onClick(View.java:2139) 
04-18 12:11:11.332: E/AndroidRuntime(629): ... 11 more 
04-18 12:11:11.332: E/AndroidRuntime(629): Caused by: java.lang.NoClassDefFoundError: org.sam.LocationActivity 
04-18 12:11:11.332: E/AndroidRuntime(629): at org.sam.SelfDefActivity.showLocator(SelfDefActivity.java:16) 
04-18 12:11:11.332: E/AndroidRuntime(629): ... 14 more 

이는 방법하려면 showlocator의 모습입니다 : -

public void showLocator(View view) { 
    Intent i = new Intent(SelfDefActivity.this, LocationActivity.class); 
    final int result=1; 
    startActivityForResult(i, result); 
    finish(); 
} 

이 내 매니페스트 모습입니다 같은 : -

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="org.sam" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk android:minSdkVersion="10" /> 

    <uses-permission android:name="android.permission.INTERNET" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@android:style/Theme.NoTitleBar" > 
     <activity 
      android:name=".SelfDefActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".LocationActivity" 
      android:label="@string/location_activity" > 
      <uses-library android:name="com.google.android.maps" /> 
     </activity> 
    </application> 

</manifest> 

아무도 내가 잘못 가고 있다고 말할 수 있습니까?

+0

'org.sam' 패키지에있는'LocationActivity' 클래스에서,'android : name = "com.xxx.LocationActivity"' – idiottiger

답변

9

활동 이름으로 android:name="your package name.LocationActivity"

같은 매니페스트 파일에서의 활동에 대한 전체 경로를 추가하여이 권한을 추가해야 위치를 확인하는 것이 좋습니다 그 또한

아래처럼 보일 것 매니페스트

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="org.sam" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk android:minSdkVersion="10" /> 

    <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"/> 
    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@android:style/Theme.NoTitleBar" > 
     <activity 
      android:name=".SelfDefActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".LocationActivity" 
      android:label="@string/location_activity" > 
     </activity> 
     <uses-library android:name="com.google.android.maps" /> 
    </application> 

</manifest> 
+0

처럼 xml에 전체 클래스 이름을 사용하는 것이 좋습니다. 감사합니다. –

0

이 유형을 트라이

</application> 
     <activity 
      ...... 
      ..... 

     </activity> 

<uses-library android:name="com.google.android.maps" /> 

</application> 
+0

덕분에 일했습니다! –

관련 문제