百度地圖開發的時候遇到的問題(一)


使用百度地圖SDK,運行Demo還可以的,但是當用到自己的程序中就出現問題了:

報出異常如下:

 

  1. 07-27 10:31:59.501: E/AndroidRuntime(8282): FATAL EXCEPTION: main  
  2. 07-27 10:31:59.501: E/AndroidRuntime(8282): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.Casper.UI/com.Casper.subUI.Trans_Location}: android.view.InflateException: Binary XML file line #6: Error inflating class com.baidu.mapapi.map.MapView  
  3. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2306)  
  4. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)  
  5. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at android.app.ActivityThread.access$600(ActivityThread.java:156)  
  6. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1340)  
  7. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at android.os.Handler.dispatchMessage(Handler.java:99)  
  8. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at android.os.Looper.loop(Looper.java:153)  
  9. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at android.app.ActivityThread.main(ActivityThread.java:5297)  
  10. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at java.lang.reflect.Method.invokeNative(Native Method)  
  11. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at java.lang.reflect.Method.invoke(Method.java:511)  
  12. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)  
  13. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)  
  14. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at dalvik.system.NativeStart.main(Native Method)  
  15. 07-27 10:31:59.501: E/AndroidRuntime(8282): Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class com.baidu.mapapi.map.MapView  
  16. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at android.view.LayoutInflater.createView(LayoutInflater.java:613)  
  17. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)  
  18. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)  
  19. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at android.view.LayoutInflater.inflate(LayoutInflater.java:489)  
  20. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at android.view.LayoutInflater.inflate(LayoutInflater.java:396)  
  21. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at android.view.LayoutInflater.inflate(LayoutInflater.java:352)  
  22. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:274)  
  23. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at android.app.Activity.setContentView(Activity.java:1881)  
  24. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at com.Casper.subUI.Trans_Location.onCreate(Trans_Location.java:51)  
  25. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at android.app.Activity.performCreate(Activity.java:5122)  
  26. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)  
  27. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)  
  28. 07-27 10:31:59.501: E/AndroidRuntime(8282):     ... 11 more  
  29. 07-27 10:31:59.501: E/AndroidRuntime(8282): Caused by: java.lang.reflect.InvocationTargetException  
  30. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at java.lang.reflect.Constructor.constructNative(Native Method)  
  31. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at java.lang.reflect.Constructor.newInstance(Constructor.java:417)  
  32. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at android.view.LayoutInflater.createView(LayoutInflater.java:587)  
  33. 07-27 10:31:59.501: E/AndroidRuntime(8282):     ... 22 more  
  34. 07-27 10:31:59.501: E/AndroidRuntime(8282): Caused by: java.lang.IllegalStateException: you have not supplyed the global app context info from SDKInitializer.initialize(Context) function.  
  35. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at com.baidu.mapapi.a.b(Unknown Source)  
  36. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at com.baidu.mapapi.map.MapView.a(Unknown Source)  
  37. 07-27 10:31:59.501: E/AndroidRuntime(8282):     at com.baidu.mapapi.map.MapView.<init>(Unknown Source)  
  38. 07-27 10:31:59.501: E/AndroidRuntime(8282):     ... 25 more  


在網上查了一天的,沒辦法解決。

 

網上出現這樣錯誤的原因有很多:

一、沒有把百度的.jar包導進來,因為使用的百度地圖是第三方的,需要把它寫到一個自己創建的libs文件夾下,還有把里面的.os文件也放到下面。

二、在繼承FragmentActivity的要使用android.support.v4.app.FragmentActivity;而不是使用android.app.FragmentActivity.

三、因為沒有編譯成功的原理,有時候需要將工程clean一下

四、沒有將申請百度地圖key放到Manifest.xml文件中,那樣根本不可能使用的。

但是我的錯誤都不是上面的問題,在百度地圖Demo中有一個Application的類,那是一個配置整個application的類,使用的時候一定要定義這個類,同時還要把這個類放到Manifest.xml文件中說明一下:

 

    1. <application  
    2.         android:name="com.Casper.ApplicationConfig.ApplicationConfig"  
    3.         android:debuggable="true"  
    4.         android:allowBackup="true"  
    5.         android:icon="@drawable/ic_launcher"  
    6.         android:label="@string/app_name"  

        android:theme="@style/AppTheme" >
遇到了和這個同樣的問題 就把這個轉載過來了:http://blog.csdn.net/u010428517/article/details/38168219?reload


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM