2014-05-25 4 views
0

내 응용 프로그램에서 Google지도를 사용하려고합니다. 이를 위해 Google 애플리케이션에서 라이브러리로 Google Play 서비스를 다운로드하고 추가했으며 Google 콘솔에서지도 키를 받았습니다.클래스 조각을 부 풀리는 오류를 해결하는 방법

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

    <uses-sdk 
    android:minSdkVersion="11" 
    android:targetSdkVersion="19" /> 
    <uses-feature 
    android:glEsVersion="0x00020000" 
    android:required="true" /> 

<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"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission          android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />     
    <application 
    android:allowBackup="true" 
    android:icon="@drawable/pin_location" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.surajkumar.myapp.MainActivity" 
     android:label="@string/app_tag" > 
     <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="@string/gmap_apiv2_key" /> 
    </application> 

    </manifest> 

레이아웃 파일입니다 - -

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:padding="10dp" 
    android:background="@color/honeydew" 
> 
<TextView 
    android:id="@+id/yourlocationtxt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="Refresh to get your location"/> 
<LinearLayout 
android:id="@+id/mapsection" 
android:layout_width="match_parent" 
    android:layout_height="0px" 
    android:layout_weight="1" 
    android:orientation="vertical" 
    android:padding="4dp"> 

<fragment 
    android:id="@+id/map" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    class="com.google.android.gms.maps.SupportMapFragment" /> 

</LinearLayout> 
<Button 
    android:id="@+id/sendsms" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/sendlocationbtntxt" 
    android:background="@drawable/button_style"/> 

</LinearLayout> 

활동

하지만이 로그 캣이 오류가 무엇입니까 - 다음과 같이

android.view.InflateException: Binary XML file line #23: Error inflating class fragment 

내 앱 매니페스트 파일 것은 코드는 -

입니다.

FATAL EXCEPTION: main 
android.view.InflateException: Binary XML file line #23: Error inflating class fragment 
E/AndroidRuntime(1221):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713) 
E/AndroidRuntime(1221):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 
E/AndroidRuntime(1221):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:758) 
E/AndroidRuntime(1221):  at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
E/AndroidRuntime(1221):  at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
E/AndroidRuntime(1221):  at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
E/AndroidRuntime(1221):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:267) 
E/AndroidRuntime(1221):  at android.app.Activity.setContentView(Activity.java:1895) 
E/AndroidRuntime(1221):  at com.surajkumar.myapp.MainActivity.showLocMapView(MainActivity.java:146) 
E/AndroidRuntime(1221):  at com.surajkumar.myapp.MainActivity.access$0(MainActivity.java:145) 
E/AndroidRuntime(1221):  at com.surajkumar.myapp.MainActivity$2.onClick(MainActivity.java:88) 
E/AndroidRuntime(1221):  at android.view.View.performClick(View.java:4240) 
E/AndroidRuntime(1221):  at android.view.View$PerformClick.run(View.java:17721) 
E/AndroidRuntime(1221):  at android.os.Handler.handleCallback(Handler.java:730) 
E/AndroidRuntime(1221):  at android.os.Handler.dispatchMessage(Handler.java:92) 
E/AndroidRuntime(1221):  at android.os.Looper.loop(Looper.java:137) 
E/AndroidRuntime(1221):  at android.app.ActivityThread.main(ActivityThread.java:5103) 
E/AndroidRuntime(1221):  at java.lang.reflect.Method.invokeNative(Native Method) 
E/AndroidRuntime(1221):  at java.lang.reflect.Method.invoke(Method.java:525) 
E/AndroidRuntime(1221):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
E/AndroidRuntime(1221):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
E/AndroidRuntime(1221):  at dalvik.system.NativeStart.main(Native Method) 
E/AndroidRuntime(1221): Caused by: java.lang.ClassCastException: com.google.android.gms.maps.SupportMapFragment cannot be cast to android.app.Fragment 
E/AndroidRuntime(1221):  at android.app.Fragment.instantiate(Fragment.java:585) 
E/AndroidRuntime(1221):  at android.app.Fragment.instantiate(Fragment.java:560) 
E/AndroidRuntime(1221):  at android.app.Activity.onCreateView(Activity.java:4738) 
E/AndroidRuntime(1221):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689) 
E/AndroidRuntime(1221):  ... 21 more 

어느 한 도와 주실 래요 -

는 내가 로그 캣은 다음 표시 줄

setContentView(R.layout.activity_main); 

에서 오류가 발생하고있다. 나는 stackoverflow에 제안 된 솔루션 중 많은 시도했지만 아무도 작동하는 것 같았다. 이 문제를 해결할 수 있도록 도와주세요. 미리 감사드립니다. 당신은 API 레벨 11에 사용 아래지도를 원하는 경우

답변

1

변경이

class="com.google.android.gms.maps.SupportMapFragment" 

class="com.google.android.gms.maps.MapFragment" 

에이 https://developer.android.com/about/dashboards/index.html?utm_source=ausdroid.net

을 고려 매니페스트에 12 이상 분 SDK를 변경할 수 있습니다 SupportMapFragmentFragmentActivity입니다.

12 이상이면 MapFragment을 사용하고 Activity을 확장하십시오.

는 또한 메타 태그

<meta-data 
android:name="com.google.android.gms.version" 
android:value="@integer/google_play_services_version" /> 

당신은 또한 당신의 즉각적인 솔루션을

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
+0

감사 남자 누락 누락되었습니다. 그것은 나를 위해 훌륭했습니다. –

+0

위의 문제가 해결되었지만 지금은지도를 볼 수없는 문제가 있습니다. 전체보기는 단지 줌인 및 줌아웃 기호가있는 빈 조각 영역을 표시하며 맵은 표시되지 않습니다. 이 부분을 작동 시키려면 다른 것을해야합니까? –

+0

@surajkumar Google지도 API 키의 문제입니다. 키 생성 단계를 다시 수행하고 올바르게 수행하십시오. – Raghunandan

관련 문제