Я проверил программу, которая использует карты Google после учебника. Я сделал все как в учебнике, но мое приложение вылетает, даже показывая что-либо с сообщением «К сожалению, HelloGoogleMaps остановился». Я попытался отладить, и кажется, что он сработал даже до ввода метода onCreate. Это мой код:Использование Google Map в Android
package ru.medinfo.HelloGoogleMaps;
import android.os.Bundle;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
public class HelloGoogleMapsActivity extends MapActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
//getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
super.onCreate(savedInstanceState);
MapView mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
setContentView(R.layout.main);
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
}
Вход после исключения:
01-27 16:22:34.195: W/dalvikvm(1038): Unable to resolve superclass of Lru/medinfo/HelloGoogleMaps/HelloGoogleMapsActivity; (3)
01-27 16:22:34.195: W/dalvikvm(1038): Link of class 'Lru/medinfo/HelloGoogleMaps/HelloGoogleMapsActivity;' failed
01-27 16:22:34.385: D/AndroidRuntime(1038): Shutting down VM
01-27 16:22:34.385: W/dalvikvm(1038): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
01-27 16:22:34.415: E/AndroidRuntime(1038): FATAL EXCEPTION: main
01-27 16:22:34.415: E/AndroidRuntime(1038): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{ru.medinfo.HelloGoogleMaps/ru.medinfo.HelloGoogleMaps.HelloGoogleMapsActivity}: java.lang.ClassNotFoundException: ru.medinfo.HelloGoogleMaps.HelloGoogleMapsActivity
01-27 16:22:34.415: E/AndroidRuntime(1038): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1880)
01-27 16:22:34.415: E/AndroidRuntime(1038): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
01-27 16:22:34.415: E/AndroidRuntime(1038): at android.app.ActivityThread.access$600(ActivityThread.java:123)
01-27 16:22:34.415: E/AndroidRuntime(1038): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
01-27 16:22:34.415: E/AndroidRuntime(1038): at android.os.Handler.dispatchMessage(Handler.java:99)
01-27 16:22:34.415: E/AndroidRuntime(1038): at android.os.Looper.loop(Looper.java:137)
01-27 16:22:34.415: E/AndroidRuntime(1038): at android.app.ActivityThread.main(ActivityThread.java:4424)
01-27 16:22:34.415: E/AndroidRuntime(1038): at java.lang.reflect.Method.invokeNative(Native Method)
01-27 16:22:34.415: E/AndroidRuntime(1038): at java.lang.reflect.Method.invoke(Method.java:511)
01-27 16:22:34.415: E/AndroidRuntime(1038): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
01-27 16:22:34.415: E/AndroidRuntime(1038): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
01-27 16:22:34.415: E/AndroidRuntime(1038): at dalvik.system.NativeStart.main(Native Method)
01-27 16:22:34.415: E/AndroidRuntime(1038): Caused by: java.lang.ClassNotFoundException: ru.medinfo.HelloGoogleMaps.HelloGoogleMapsActivity
01-27 16:22:34.415: E/AndroidRuntime(1038): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
01-27 16:22:34.415: E/AndroidRuntime(1038): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
01-27 16:22:34.415: E/AndroidRuntime(1038): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
01-27 16:22:34.415: E/AndroidRuntime(1038): at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
01-27 16:22:34.415: E/AndroidRuntime(1038): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871)
01-27 16:22:34.415: E/AndroidRuntime(1038): ... 11 more
01-27 16:22:34.465: W/ActivityManager(87): Force finishing activity ru.medinfo.HelloGoogleMaps/.HelloGoogleMapsActivity
01-27 16:22:34.488: W/WindowManager(87): Failure taking screenshot for (180x300) to layer 21010
01-27 16:22:35.001: W/ActivityManager(87): Activity pause timeout for ActivityRecord{41472d50 ru.medinfo.HelloGoogleMaps/.HelloGoogleMapsActivity}
01-27 16:22:35.295: W/NetworkManagementSocketTagger(87): setKernelCountSet(10044, 0) failed with errno -2
01-27 16:22:45.295: W/ActivityManager(87): Activity destroy timeout for ActivityRecord{41472d50 ru.medinfo.HelloGoogleMaps/.HelloGoogleMapsActivity}
Manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="ru.medinfo.HelloGoogleMaps"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="15" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-library android:name="com.google.android.maps" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity android:name=".HelloGoogleMapsActivity"
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>
</manifest>
post logcat error stacktrace here. – kosa
, пожалуйста, вставьте свой МАНИФЕСТ! –
сделано. добавлен манифест тоже. Я сделал все другие учебники, кроме Google Maps. Он использует MapActivity вместо Activity, и я думаю, что это проблема. Это суперкласс класса HelloGoogleMapsActivity. И журнал говорит, что этот суперкласс не разрешен. Я думаю, что MapActivity не найден по какой-то причине ... – wzbozon