不知怎的,我的活动无法扩展MapActivity,为什么?

时间:2011-02-21 14:59:25

标签: android

我正在尝试开发一个简单的android地图应用程序。只要我扩展“Activity”,代码就可以正常运行。当我将其更改为“MapActivity”时,执行必要的导入并再次运行模拟器。我的应用无法启动。我搜索了很多,但似乎没有解决这个问题的答案。请建议做什么?

7 个答案:

答案 0 :(得分:8)

您检查过以下内容吗?

  • 您使用的是Google API版本的SDK吗?如果不是那么地图库将无法加载。
  • 转到您的清单文件并放置<uses-library android:name="com.google.android.maps"/>(如果它尚未存在)。

对于第一个,您可以选择Google API版本。 {4,5,7,8}来自eclipse项目属性框中的android选项卡。

答案 1 :(得分:2)

检查应用程序的暂停点。

1-:androidManifast文件中使用map的权限。

2-:在androidManifast文件中添加库以使用map。

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

3-:添加未实现的方法。

@Override
protected boolean isRouteDisplayed() {
    // TODO Auto-generated method stub
    return false;
}

4-:检查fallowing import

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;

如果您在上述之后没有得到解决方案,那么您应该调试代码并显示日志cat。

我希望在那之后你得到了解决方案。

答案 2 :(得分:1)

您是否正在使用Google API针对Android 2.2进行开发?

MapActivity并不存在于vanilla Android 2.2中 - 您需要Google API版本。

   Right Click on your Project.Select properties and Android then check the google Api which you want to use in it 

。检查您需要的Google API

enter image description here

您还需要在AndroidManifest.xml中使用此功能:

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

答案 3 :(得分:0)

1)在Manifest.xml文件中关闭标记之前添加<uses-library android:name="com.google.android.maps" />

2)导入以下内容:

 <br>import com.google.android.maps.MapActivity;
 <br>import com.google.android.maps.MapView;<br>

3)在eclipse manue栏中,点击项目&gt;&gt;属性&gt;&gt; Android(来自侧边栏)&gt;&gt;从“项目目标窗口”检查“Google API”&gt;&gt;应用更改&gt;&gt;确定

4)打开Activity.java文件,现在添加YourActivity扩展MapActivity

5)将你的光标指向红色带下划线的类名,它将显示“添加无条件方法”的选项,点击它

它解决了我的问题。希望它对你有用

答案 4 :(得分:0)

在开发新的Android应用程序项目时,将“Compile with”选项更改为“Google API 8”或您安装的任何一个,并且您的模拟器“Target”也必须是“googleAPIs 8”。 我希望你的问题得到解决。

答案 5 :(得分:0)

添加以下权限:

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

还设置了项目的目标:

  1. 点击项目右侧的
  2. 转到首选项&gt; android&gt;设置您想要的目标,但应该是google api inc ...
  3. 然后将相同的目标放入你的主要文件......
  4. 使用google api inc ...创建同一目标的新仿真器。
  5. 测试它......
  6. 您的活动应该有效

答案 6 :(得分:0)

以下解决了我的问题。

转到project-&gt; properties-&gt; android

勾选标记GoogleAPIs(API级别 - > 8)