【问题标题】:Problems trying to use Android Mapview classes尝试使用 Android Mapview 类的问题
【发布时间】:2011-06-30 12:48:05
【问题描述】:

我是 Android 的菜鸟,如果我的帖子是白痴,请耐心等待并道歉。 基本上,我正在尝试向导致一些问题的 XML 添加一个 mapview,我得到的错误是:

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

据我所知,此调用发生了错误:

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

地图类本身是:

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 中的活动方面做错了什么?我试过摆弄,但到目前为止无济于事,有人有什么想法吗?

谢谢,

【问题讨论】:

    标签: android maps android-mapview manifest mapactivity


    【解决方案1】:

    第 1 步:删除第二个和第三个 &lt;uses-library&gt; 元素。

    第 2 步:将您的包更改为不包含 package 作为名称的一部分,以尽量减少保留关键字问题的可能性。

    第 3 步:删除您的 &lt;uses-permission android:name="android.permission.LOCATION"/&gt; 行,因为没有这样的权限。

    第 4 步:在安装了 Google 地图的设备或模拟器上运行您的应用程序。

    你真正的问题是第 4 步——前三个只是为了清理一下。 FWIW,我还建议您对类名遵循 CamelCase 约定。

    【讨论】:

    • 感谢您,但步骤 1 和 3 已完成,名称中的“包”只是我将实际名称更改为“包”。该设备目前在Eclipse下针对SDK模拟器Google API的2.1运行,同样的问题仍然存在。
    • @mapview_wrongness:这是一个示例项目,展示了在 Android 应用程序中使用 Google 地图:github.com/commonsguy/cw-android/tree/master/Maps/NooYawk
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多