百度地图sdk问题 error inflating class com.baidu.mapapi.map.mapview

这个问题的解决方案找了好久,因为百度sdk的版本一直在更新,所以这个问题有几个原因,但是其实都是一个原因  就是 初始化

1. 之前的原因是因为   BMapManager 没有初始化,但是后来版本的sdk没有了BMapManager类,然后初始化就不知道怎么弄了。

2. 目前我用的sdk版本是v3.2.0,大部分初学者  会发现 百度地图的Demo在自己手机运行的好好的,自己也是按照他的Demo类敲代码,但是就是会报出error inflating class com.baidu.mapapi.map.mapview。

其实这点真的不怪我们,其实官方Demo也已经初始化了,只是特别隐蔽--------------------------------------------!

这是官网的说明

百度地图sdk问题 error inflating class com.baidu.mapapi.map.mapview_第1张图片


我们来看看Demo提供的类

百度地图sdk问题 error inflating class com.baidu.mapapi.map.mapview_第2张图片

其中DemoApplication.java有很大的玄机。

package baidumapsdk.demo;

import android.app.Application;

import com.baidu.mapapi.SDKInitializer;

public class DemoApplication extends Application {

	@Override
	public void onCreate() {
		super.onCreate();
		// 在使用 SDK 各组间之前初始化 context 信息,传入 ApplicationContext
		SDKInitializer.initialize(this);
	}

}

然后在androidmanifest文件中还要加一步设置。

百度地图sdk问题 error inflating class com.baidu.mapapi.map.mapview_第3张图片

在application的  name属性中 不仅要加入包名,还要加入DemoApplication,就是提供初始化的那个类!



这个类在onCreate()方法中已经使用了 SDKInitializer.initialize(this); 初始化了,在看注释 就能明白了。这样写,就可以不用在每个类里面重复这句代码了。


至于为什么会共享,大家可以看 http://blog.csdn.net/u010940300/article/details/43487877    还有   http://blog.csdn.net/lieren666/article/details/7598288


你可能感兴趣的:(百度地图sdk问题 error inflating class com.baidu.mapapi.map.mapview)