2

我在运行Google API 的示例代码时收到强制关闭错误消息。更新项目是否是此类项目的解决方案?如果是这样,那么如何更新窗口上的项目。这里给出的方法不适用于我的情况。

这是代码

文件名:HelloGoogleMaps.java

    package com.hellogooglemaps.practices;

    import com.google.android.maps.MapActivity;
    import com.google.android.maps.MapView;
    import android.os.Bundle;


    public class HelloGoogleMaps extends MapActivity {
     /** Called when the activity is first created. */
  @Override
   protected boolean isRouteDisplayed(){
    return false;
}

@Override 
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    MapView mapView = (MapView)findViewById(R.id.mapview);
    mapView.setBuiltInZoomControls(true);

}
@Override
protected boolean isLocationDisplayed(){
    return true;
}
}

HelloGoogleMaps 清单

<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET"/>
<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:label="@string/app_name"
        android:name=".HelloGoogleMapsActivity" >
        <intent-filter >
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>        
    </activity>
    <activity android:name=".HelloGoogleMaps" android:label="@string/app_name"
          android:theme="@android:style/Theme.NoTitleBar" />
    <uses-library android:name="com.google.android.maps"/>
</application>

主要的.xml

    <?xml version="1.0" encoding="utf-8"?>
    <com.google.android.maps.MapView
     xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/mapview"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent"
             android:clickable="true"
             android:apiKey="0_hYeORLgQUROOOr_RXN2TWG2u2pCDoBYfLCV_w"
             />
4

2 回答 2

1

正如您在代码中提到的那样,您只有一个 Activity 被调用HelloGoogleMaps,并且AndroidManifest您已经声明了两个 Activity!你HelloGoogleMapsActivity的没用。您收到错误是因为您将 HelloGoogleMapsActivity 设置为 Launcher 活动,而此活动甚至不存在!

解决方案: 改变你的AndroidManifest.xml方式,如果你成功地为你的地图正确获取了 apikey,你将让你的应用程序正常工作:

<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET"/>
<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:label="@string/app_name"
        android:theme="@android:style/Theme.NoTitleBar"
        android:name=".HelloGoogleMaps" >
        <intent-filter >
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>        
    </activity>
    <uses-library android:name="com.google.android.maps"/>
</application>
于 2012-07-08T08:06:20.700 回答
0

在面对Force close Error很多次之后,我发现这些类型的错误非常普遍,并且是由于undefined behavioral.Like 当我们声明 Button 而没有为其分配视图时,我们在另一个函数上使用它。由于未正确处理异常,也会出现这种情况。或由于资源不可用,您正尝试在模拟器中访问,例如联系电话。解决此类问题的最佳方法是使用日志并在我们感到困惑的地方打印一些消息并使用 logcat。

在上述情况下,由于HelloGoogleMapsActivity类中的未定义行为,我收到了强制关闭错误

于 2012-09-25T04:11:56.763 回答