2014-04-03 2 views
0

Android 개발에서 새로 생겼습니다. 내 애플리케이션에 Google지도를 추가하고 싶습니다. 나는 검색을 많이했을하지만 "불행하게도, 응용 프로그램이 중지되었습니다"응용 프로그램을 실행Google지도를 Android 애플리케이션에 추가하십시오.

그래서이 내 자바 클래스 때 여전히 같은 문제가 발생

package com.example.hellomap; 
import com.google.android.maps.MapView; 
import android.support.v4.app.FragmentActivity; 
import android.os.Bundle; 


public class MainActivity extends FragmentActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.map_main); 
     MapView map =(MapView) findViewById(R.id.map); 

    } 

} 

xml 파일 :

<?xml version="1.0" encoding="utf-8"?> 
<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/map" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:name="com.google.android.gms.maps.MapFragment"/> 

매니페스트

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.hellomap" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="16" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
<uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true"/> 
    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <uses-library android:name="com.google.android.maps"/> 
     <activity 
      android:name="com.example.hellomap.MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <meta-data 
    android:name="com.google.android.maps.v2.API_KEY" 
    android:value="AIzaSyCKSp9pb7g8Wkga2SgeoT_MSe0JG59DkSU" /> 
    </application> 

</manifest> 

로그 캣 보여준다 : 01,235

도움을 16,
04-03 13:45:42.574: E/AndroidRuntime(1164): FATAL EXCEPTION: main 
04-03 13:45:42.574: E/AndroidRuntime(1164): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.hellomap/com.example.hellomap.MainActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class fragment 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at android.app.ActivityThread.access$600(ActivityThread.java:130) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at android.os.Handler.dispatchMessage(Handler.java:99) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at android.os.Looper.loop(Looper.java:137) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at android.app.ActivityThread.main(ActivityThread.java:4745) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at java.lang.reflect.Method.invokeNative(Native Method) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at java.lang.reflect.Method.invoke(Method.java:511) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at dalvik.system.NativeStart.main(Native Method) 
04-03 13:45:42.574: E/AndroidRuntime(1164): Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class fragment 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at android.view.LayoutInflater.inflate(LayoutInflater.java:466) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:256) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at android.app.Activity.setContentView(Activity.java:1867) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at com.example.hellomap.MainActivity.onCreate(MainActivity.java:23) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at android.app.Activity.performCreate(Activity.java:5008) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  ... 11 more 
04-03 13:45:42.574: E/AndroidRuntime(1164): Caused by: android.app.Fragment$InstantiationException: Unable to instantiate fragment com.google.android.gms.maps.MapFragment: make sure class name exists, is public, and has an empty constructor that is public 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at android.app.Fragment.instantiate(Fragment.java:584) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at android.app.Fragment.instantiate(Fragment.java:552) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at android.app.Activity.onCreateView(Activity.java:4656) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  ... 20 more 
04-03 13:45:42.574: E/AndroidRuntime(1164): Caused by: java.lang.ClassNotFoundException: com.google.android.gms.maps.MapFragment 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  at android.app.Fragment.instantiate(Fragment.java:574) 
04-03 13:45:42.574: E/AndroidRuntime(1164):  ... 23 more 
04-03 13:50:42.626: I/Process(1164): Sending signal. PID: 1164 SIG: 9 

감사합니다 :)

답변

0

예외 : - ClassNotFoundException가 GooglePlayService 도서관 프로젝트 먼저 확인하시기 바랍니다.)

이 새 프로젝트 만들기)

- 1 :

단계를 따르십시오 -이 :

두 번째 문제는 당신은 this

업데이트를 참조하십시오지도보기로 조각 캐스트 입력 할 수 없습니다 GooglePlayService 라이브러리 프로젝트를 작업 영역으로 가져옵니다.

3)를 할당 구글 프로젝트에 라이브러리 프로젝트로 서비스 라이브러리 프로젝트를 재생

4) 지금 만들기) 활동 레이아웃 파일

5로지도 조각/지원되는지도 조각을 추가 확인이 클래스는

발견

확인하는 방법 ==> 키보드에서 Ctrl 키를 누른 다음 클래스 이름을 찾은 다음 클래스를 찾은 다음 다른 클래스를 먼저 수정하는 것이 좋습니다. 필자는 지원되는 부분을 선호합니다.

6) 이전에 게시 한 링크 i에 설명 된대로 모든 권한을 정의하십시오.

6) 이제 맵에 대한 API 키를 생성하려면 주어진 링크에서 단계를 따르십시오.

덕분에 나는 내가 GooglePlayService 라이브러리 MainActivity.java에서 내가해야 무엇을 쓸 수를 확인

+0

의 도움을 희망, 나는 MapActivity에 FragmentActivity 교체 –

관련 문제