um ehrlich zu sein, ich weiß nicht, was den Fehler verursacht habe, verwende ich sie zum ersten Mal. würden Sie mir bitte dabei helfen. Ich versuche nur, die Google Maps API in die FragmentActivity zu starten. ist dies die logcatFehler mit Google Maps API und Fragmentaktivität
04-20 19:35:38.008: E/AndroidRuntime(3484): FATAL EXCEPTION: main
04-20 19:35:38.008: E/AndroidRuntime(3484): Process: com.mom, PID: 3484
04-20 19:35:38.008: E/AndroidRuntime(3484): java.lang.NoClassDefFoundError: Failed resolution of: Lcom/mom/Map_activity;
04-20 19:35:38.008: E/AndroidRuntime(3484): at com.mom.MainActivity$2.onClick(MainActivity.java:88)
04-20 19:35:38.008: E/AndroidRuntime(3484): at android.view.View.performClick(View.java:4856)
04-20 19:35:38.008: E/AndroidRuntime(3484): at android.view.View$PerformClick.run(View.java:19956)
04-20 19:35:38.008: E/AndroidRuntime(3484): at android.os.Handler.handleCallback(Handler.java:739)
04-20 19:35:38.008: E/AndroidRuntime(3484): at android.os.Handler.dispatchMessage(Handler.java:95)
04-20 19:35:38.008: E/AndroidRuntime(3484): at android.os.Looper.loop(Looper.java:211)
04-20 19:35:38.008: E/AndroidRuntime(3484): at android.app.ActivityThread.main(ActivityThread.java:5389)
04-20 19:35:38.008: E/AndroidRuntime(3484): at java.lang.reflect.Method.invoke(Native Method)
04-20 19:35:38.008: E/AndroidRuntime(3484): at java.lang.reflect.Method.invoke(Method.java:372)
04-20 19:35:38.008: E/AndroidRuntime(3484): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020)
04-20 19:35:38.008: E/AndroidRuntime(3484): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)
04-20 19:35:38.008: E/AndroidRuntime(3484): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.mom.Map_activity" on path: DexPathList[[zip file "/system/framework/com.google.android.maps.jar", zip file "/data/app/com.mom-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
04-20 19:35:38.008: E/AndroidRuntime(3484): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
04-20 19:35:38.008: E/AndroidRuntime(3484): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
04-20 19:35:38.008: E/AndroidRuntime(3484): at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
04-20 19:35:38.008: E/AndroidRuntime(3484): ... 11 more
04-20 19:35:38.008: E/AndroidRuntime(3484): Suppressed: java.lang.NoClassDefFoundError: com.mom.Map_activity
04-20 19:35:38.008: E/AndroidRuntime(3484): at dalvik.system.DexFile.defineClassNative(Native Method)
04-20 19:35:38.008: E/AndroidRuntime(3484): at dalvik.system.DexFile.defineClass(DexFile.java:226)
04-20 19:35:38.008: E/AndroidRuntime(3484): at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:219)
04-20 19:35:38.008: E/AndroidRuntime(3484): at dalvik.system.DexPathList.findClass(DexPathList.java:321)
04-20 19:35:38.008: E/AndroidRuntime(3484): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54)
04-20 19:35:38.008: E/AndroidRuntime(3484): ... 13 more
04-20 19:35:38.008: E/AndroidRuntime(3484): Suppressed: java.lang.ClassNotFoundException: com.mom.Map_activity
04-20 19:35:38.008: E/AndroidRuntime(3484): at java.lang.Class.classForName(Native Method)
04-20 19:35:38.008: E/AndroidRuntime(3484): at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
04-20 19:35:38.008: E/AndroidRuntime(3484): at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
04-20 19:35:38.008: E/AndroidRuntime(3484): at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
04-20 19:35:38.008: E/AndroidRuntime(3484): ... 12 more
04-20 19:35:38.008: E/AndroidRuntime(3484): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
und dies ist die Klassen
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
public class Map_activity extends FragmentActivity {
public static android.support.v4.app.FragmentManager fragmentManager;
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.location_fragment);
fragmentManager = getSupportFragmentManager();
}
}
und diese
import android.annotation.SuppressLint;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapView;
import com.google.android.gms.maps.MapsInitializer;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.CameraPosition;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
@SuppressLint("NewApi")
public class LocationFragment extends Fragment {
MapView mMapView;
private GoogleMap googleMap;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// inflat and return the layout
View v = inflater.inflate(R.layout.location_fragment, container,
false);
mMapView = (MapView) v.findViewById(R.id.mapView);
mMapView.onCreate(savedInstanceState);
mMapView.onResume();// needed to get the map to display immediately
try {
MapsInitializer.initialize(getActivity().getApplicationContext());
} catch (Exception e) {
e.printStackTrace();
}
googleMap = mMapView.getMap();
// latitude and longitude
double latitude = 17.385044;
double longitude = 78.486671;
// create marker
MarkerOptions marker = new MarkerOptions().position(
new LatLng(latitude, longitude)).title("Hello Maps");
// Changing marker icon
marker.icon(BitmapDescriptorFactory
.defaultMarker(BitmapDescriptorFactory.HUE_ROSE));
// adding marker
googleMap.addMarker(marker);
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(new LatLng(17.385044, 78.486671)).zoom(12).build();
googleMap.animateCamera(CameraUpdateFactory
.newCameraPosition(cameraPosition));
// Perform any camera updates here
return v;
}
@Override
public void onResume() {
super.onResume();
mMapView.onResume();
}
@Override
public void onPause() {
super.onPause();
mMapView.onPause();
}
@Override
public void onDestroy() {
super.onDestroy();
mMapView.onDestroy();
}
@Override
public void onLowMemory() {
super.onLowMemory();
mMapView.onLowMemory();
}
}
und das ist das Manifest
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mom"
android:installLocation="auto"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="21" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<permission
android:name="com.arshad.map.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<!-- Permission to receive Google Maps -->
<uses-permission android:name="com.arshad.map.permission.MAPS_RECEIVE" />
<!-- Maps API needs OpenGL ES 2.0. -->
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<activity
android:name=".Splash"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
</activity>
<activity
android:name=".Add"
android:label="@string/title_activity_add"
android:windowSoftInputMode="adjustResize|stateVisible" >
</activity>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyCZdGJKBgErXwK9PP9zbG6as2ErZ__detc" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<activity
android:name=".Map_activity"
android:label="@string/title_activity_map" >
</activity>
<uses-library
android:name="com.google.android.maps"
android:required="true" />
</application>
</manifest>
Sind Sie sicher, dass diese Zeile aus Ihrem Manifest korrekt ist? package = "com.mom". Normalerweise sieht es so aus wie com.companyname.myappname – noogui
ja ich bin mir sicher. das ist, wie ich das Paket nannte –