2011-07-18 43 views
0

在下面的程序中,我试图使用谷歌地图从下面的例子http://www.vogella.de/articles/AndroidLocationAPI/article.html,我已经完全遵循在这个例子中的所有步骤,但一些如何我不能执行它APP关闭。安卓谷歌地图问题

下面是我code.Let我知道我在做什么错在这里

package ShowMap.com; 

import android.app.Activity; 
import android.os.Bundle; 
import android.content.Context; 
import android.location.Location; 
import android.location.LocationListener; 
import android.location.LocationManager; 
import android.widget.RelativeLayout; 

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

public class ShowmapActivity extends MapActivity { 
private MapController mapController; 
private MapView mapView; 
private LocationManager locationManager; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    RelativeLayout linearLayout = (RelativeLayout) findViewById(R.id.mainlayout); 
    mapView = (MapView) findViewById(R.id.mapview); 
    mapView.setBuiltInZoomControls(true); 
    mapView.setStreetView(true); 
    mapController = mapView.getController(); 
    mapController.setZoom(14); // Zoon 1 is world view 
    locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 
      0, new GeoUpdateHandler()); 

} 
protected boolean isRouteDisplayed() { 
    return false; 
} 

public class GeoUpdateHandler implements LocationListener { 

    @Override 
    public void onLocationChanged(Location location) { 
     int lat = (int) (location.getLatitude() * 1E6); 
     int lng = (int) (location.getLongitude() * 1E6); 
     GeoPoint point = new GeoPoint(lat, lng); 
     mapController.animateTo(point); // mapController.setCenter(point); 
    } 

    @Override 
    public void onProviderDisabled(String provider) { 
    } 

    @Override 
    public void onProviderEnabled(String provider) { 
    } 

    @Override 
    public void onStatusChanged(String provider, int status, Bundle extras) { 
    } 
} 

    } 

main.xml中

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/mainlayout" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" > 

<com.google.android.maps.MapView 
      android:id="@+id/mapview" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:clickable="true" 
      android:apiKey="0YjDTTmg77Hdf9GVv26GW1123452v4ssZererHikVw" 
      /> 

的Android的manifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="ShowMap.com" 
    android:versionCode="1" 
    android:versionName="1.0"> 
<uses-sdk android:minSdkVersion="8" /> 
<uses-library android:required="true" android:name="com.google.android.maps"></uses-library> 
<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".ShowmapActivity" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 



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


</manifest> 

EDIT:This is the logcat trace

 07-18 15:20:46.065: DEBUG/AndroidRuntime(469): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<< 
    07-18 15:20:46.096: DEBUG/AndroidRuntime(469): CheckJNI is ON 
    07-18 15:20:50.572: DEBUG/AndroidRuntime(472): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<< 
    07-18 15:20:50.572: DEBUG/AndroidRuntime(472): CheckJNI is ON 
    07-18 15:20:54.486: DEBUG/AndroidRuntime(469): --- registering native functions --- 
    07-18 15:20:54.511: DEBUG/AndroidRuntime(472): --- registering native functions --- 
    07-18 15:21:09.085: DEBUG/dalvikvm(472): DexOpt: sleeping on flock(/data/dalvik-cache/[email protected]@[email protected]) 
    07-18 15:21:10.252: DEBUG/AndroidRuntime(469): Shutting down VM 
    07-18 15:21:10.266: INFO/AndroidRuntime(469): NOTE: attach of thread 'Binder Thread #3' failed 
    07-18 15:21:10.305: DEBUG/dalvikvm(469): Debugger has detached; object registry had 1 entries 
    07-18 15:21:13.498: DEBUG/dalvikvm(279): GC_EXPLICIT freed 114 objects/5848 bytes in 1347ms 
    07-18 15:21:13.916: DEBUG/PackageParser(66): Scanning package: /data/app/vmdl20199.tmp 
    07-18 15:21:14.051: WARN/PackageParser(66): Unknown element under <manifest>: uses-library at /data/app/vmdl20199.tmp Binary XML file line #7 
    07-18 15:21:15.378: INFO/PackageManager(66): Removing non-system package:ShowMap.com 
    07-18 15:21:15.378: INFO/ActivityManager(66): Force stopping package ShowMap.com uid=10040 
    07-18 15:21:15.835: DEBUG/PackageManager(66): Scanning package ShowMap.com 
    07-18 15:21:15.845: INFO/PackageManager(66): Package ShowMap.com codePath changed from /data/app/ShowMap.com-1.apk to /data/app/ShowMap.com-2.apk; Retaining data and using new 
    07-18 15:21:15.867: INFO/PackageManager(66): /data/app/ShowMap.com-2.apk changed; unpacking 
    07-18 15:21:15.935: DEBUG/installd(35): DexInv: --- BEGIN '/data/app/ShowMap.com-2.apk' --- 
    07-18 15:21:16.495: DEBUG/dalvikvm(485): DexOpt: load 75ms, verify 122ms, opt 10ms 
    07-18 15:21:16.515: DEBUG/installd(35): DexInv: --- END '/data/app/ShowMap.com-2.apk' (success) --- 
    07-18 15:21:16.555: INFO/ActivityManager(66): Force stopping package ShowMap.com uid=10040 
    07-18 15:21:16.555: WARN/PackageManager(66): Code path for pkg : ShowMap.com changing from /data/app/ShowMap.com-1.apk to /data/app/ShowMap.com-2.apk 
    07-18 15:21:16.575: WARN/PackageManager(66): Resource path for pkg : ShowMap.com changing from /data/app/ShowMap.com-1.apk to /data/app/ShowMap.com-2.apk 
    07-18 15:21:16.595: DEBUG/PackageManager(66): Activities: ShowMap.com.ShowmapActivity 
    07-18 15:21:16.875: INFO/installd(35): move /data/dalvik-cache/[email protected]@[email protected] -> /data/dalvik-cache/[email protected]@[email protected] 
    07-18 15:21:16.875: DEBUG/PackageManager(66): New package installed in /data/app/ShowMap.com-2.apk 
    07-18 15:21:17.187: INFO/ActivityManager(66): Force stopping package ShowMap.com uid=10040 
    07-18 15:21:17.610: DEBUG/dalvikvm(66): GC_EXPLICIT freed 13050 objects/728192 bytes in 342ms 
    07-18 15:21:20.477: DEBUG/dalvikvm(123): GC_EXPLICIT freed 1150 objects/59528 bytes in 2120ms 
    07-18 15:21:27.735: WARN/RecognitionManagerService(66): no available voice recognition services found 
    07-18 15:21:30.515: DEBUG/dalvikvm(66): GC_EXPLICIT freed 3973 objects/218952 bytes in 589ms 
    07-18 15:21:31.946: INFO/installd(35): unlink /data/dalvik-cache/[email protected]@[email protected] 
    07-18 15:21:32.034: DEBUG/AndroidRuntime(472): Shutting down VM 
    07-18 15:21:32.045: DEBUG/dalvikvm(472): Debugger has detached; object registry had 1 entries 
    07-18 15:21:32.085: INFO/AndroidRuntime(472): NOTE: attach of thread 'Binder Thread #3' failed 
    07-18 15:21:33.235: DEBUG/AndroidRuntime(491): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<< 
    07-18 15:21:33.235: DEBUG/AndroidRuntime(491): CheckJNI is ON 
    07-18 15:21:33.735: DEBUG/AndroidRuntime(491): --- registering native functions --- 
    07-18 15:21:35.950: INFO/ActivityManager(66): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=ShowMap.com/.ShowmapActivity } 
    07-18 15:21:37.315: DEBUG/AndroidRuntime(491): Shutting down VM 
    07-18 15:21:37.324: INFO/AndroidRuntime(491): NOTE: attach of thread 'Binder Thread #3' failed 
    07-18 15:21:37.366: DEBUG/dalvikvm(491): Debugger has detached; object registry had 1 entries 
    07-18 15:21:39.699: INFO/ActivityManager(66): Start proc ShowMap.com for activity ShowMap.com/.ShowmapActivity: pid=498 uid=10040 gids={3003} 
    07-18 15:21:43.026: WARN/dalvikvm(498): Unable to resolve superclass of LShowMap/com/ShowmapActivity; (20) 
    07-18 15:21:43.026: WARN/dalvikvm(498): Link of class 'LShowMap/com/ShowmapActivity;' failed 
    07-18 15:21:43.096: DEBUG/AndroidRuntime(498): Shutting down VM 
    07-18 15:21:43.096: WARN/dalvikvm(498): threadid=1: thread exiting with uncaught exception (group=0x4001d800) 
    07-18 15:21:43.295: ERROR/AndroidRuntime(498): FATAL EXCEPTION: main 
    07-18 15:21:43.295: ERROR/AndroidRuntime(498): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{ShowMap.com/ShowMap.com.ShowmapActivity}: java.lang.ClassNotFoundException: ShowMap.com.ShowmapActivity in loader dalvik.system.PathClassLoader[/data/app/ShowMap.com-2.apk] 
    07-18 15:21:43.295: ERROR/AndroidRuntime(498):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585) 
    07-18 15:21:43.295: ERROR/AndroidRuntime(498):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
    07-18 15:21:43.295: ERROR/AndroidRuntime(498):  at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
    07-18 15:21:43.295: ERROR/AndroidRuntime(498):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
    07-18 15:21:43.295: ERROR/AndroidRuntime(498):  at android.os.Handler.dispatchMessage(Handler.java:99) 
    07-18 15:21:43.295: ERROR/AndroidRuntime(498):  at android.os.Looper.loop(Looper.java:123) 
    07-18 15:21:43.295: ERROR/AndroidRuntime(498):  at android.app.ActivityThread.main(ActivityThread.java:4627) 
    07-18 15:21:43.295: ERROR/AndroidRuntime(498):  at java.lang.reflect.Method.invokeNative(Native Method) 
    07-18 15:21:43.295: ERROR/AndroidRuntime(498):  at java.lang.reflect.Method.invoke(Method.java:521) 
    07-18 15:21:43.295: ERROR/AndroidRuntime(498):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
    07-18 15:21:43.295: ERROR/AndroidRuntime(498):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
    07-18 15:21:43.295: ERROR/AndroidRuntime(498):  at dalvik.system.NativeStart.main(Native Method) 
    07-18 15:21:43.295: ERROR/AndroidRuntime(498): Caused by: java.lang.ClassNotFoundException: ShowMap.com.ShowmapActivity in loader dalvik.system.PathClassLoader[/data/app/ShowMap.com-2.apk] 
    07-18 15:21:43.295: ERROR/AndroidRuntime(498):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) 
    07-18 15:21:43.295: ERROR/AndroidRuntime(498):  at java.lang.ClassLoader.loadClass(ClassLoader.java:573) 
    07-18 15:21:43.295: ERROR/AndroidRuntime(498):  at java.lang.ClassLoader.loadClass(ClassLoader.java:532) 
    07-18 15:21:43.295: ERROR/AndroidRuntime(498):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 
    07-18 15:21:43.295: ERROR/AndroidRuntime(498):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577) 
    07-18 15:21:43.295: ERROR/AndroidRuntime(498):  ... 11 more 
    07-18 15:21:43.364: WARN/ActivityManager(66): Force finishing activity ShowMap.com/.ShowmapActivity 
    07-18 15:21:43.915: WARN/ActivityManager(66): Activity pause timeout for HistoryRecord{44f9e8b8 ShowMap.com/.ShowmapActivity} 
+0

什么是错误?你可以把logcat跟踪? – PravinCG

+0

我发布了logcat tRACE IN编辑 – Rajeev

+0

您是在真实设备还是虚拟设备上执行代码?如果您使用AVD确保其Target是Google API而不是Android xy – daveD

回答

0

确保不仅AVD而且代码的目标都必须在Google API上设置,而不是在Android API上设置。在你的default.properties文件中检查这个。 如果它目前设置为Android API,则可以像这样更改它: 选择您的项目文件夹>属性> android>在项目构建目标中选择适用于您的API级别的Google API。保存全部并完成!

有不错的发展!