2011-06-30 74 views
0

我是Android的小菜鳥,所以如果我的帖子是無趣的,請耐心等待並道歉。 基本上,我想一個MapView加入到這是造成一些問題的XML,我得到的錯誤是:嘗試使用Android Mapview類的問題

06-30 12:29:04.760: ERROR/AndroidRuntime(320): java.lang.NoClassDefFoundError: package.android.mapclass 

從我可以告訴錯誤是發生在此呼籲:

Intent i = new Intent(oldclass.this, mapclass.class); 

的mapclass本身是:

package package.android; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import com.google.android.maps.MapView; 
import com.google.android.maps.MapActivity; 
import android.util.Log; 

public class mapclass extends MapActivity { 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.viewmap); 

    protected boolean isRouteDisplayed() { 
     return false; 
    } 
} 

下面是它有趣,如果我換出

public class mapclass extends MapActivity { 

public class mapclass extends Activity { 

替換它,然後它工作正常絕對(儘管沒有調用調用MapActivity)。 還有就是地圖的引用在清單:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="package.android" 
     android:versionCode="1" 
     android:versionName="1.0"> 
<uses-sdk android:minSdkVersion="7" /> 
<uses-permission android:name="android.permission.LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-library android:name="com.google.android.maps" /> 
<uses-library android:name="com.google.android.maps.MapView" /> 
<uses-library android:name="com.google.android.maps.MapActivity" /> 

<application android:icon="@drawable/icon" 
       android:label="@string/app_name"> 

我猜,我做什麼可怕的錯誤在XML方面的活動?我試過擺弄,但目前爲止無濟於事,有沒有人有任何想法?

感謝,

回答

0

第1步:刪除你的第二個和第三個<uses-library>元素。

步驟#2:將您的包更改爲不包含package作爲名稱的一部分,以儘量減少保留關鍵字問題的機率。

步驟#3:刪除您的<uses-permission android:name="android.permission.LOCATION"/>行,因爲沒有這樣的權限。

步驟#4:在裝有Google地圖的設備或模擬器上運行您的應用程序。

你真正的問題是第四步 - 前三個只是爲了清理一些東西。 FWIW,我也建議你按照你的班級名稱使用CamelCase約定。

+0

謝謝你,但第1步和第3步完成後,名稱中的「包裝」就是我將實際名稱更改爲「包裝」。該設備目前正在Eclipse下運行於SDK模擬器Google API 2.1,同樣的問題仍然存在。 –

+0

@mapview_wrongness:這是一個演示在Android應用程序中使用Google地圖的示例項目:https://github.com/commonsguy/cw-android/tree/master/Maps/NooYawk – CommonsWare