最快学习百度地图android开发的方法探讨--从官方例子开始之问题处理-例子分割
2016-05-04 17:09
681 查看
最快学习百度地图android开发的方法是在有开发需求的驱动下,学习构造地图应用。将整个目标分成几个容易实现的阶段,步步为营逐步逼近目标。
在开发需求驱动下的官方例子学习,是学习的捷径之一。
具体步骤如下:
从官方下载例子包,通过观摩例子源码与功能关联关系,了解百度地图开发要点。但在分离过程中eclipse下遇到如下报错信息:
一问题描述:
05-04 16:33:53.766: E/AndroidRuntime(21613): Process: com.example.baidumaptest, PID: 21613
05-04 16:33:53.766: E/AndroidRuntime(21613): java.lang.RuntimeException: Unable to instantiate application com.example.baidumaptest.OverlayDemo: java.lang.IllegalStateException: you have not supplyed the global app context info from SDKInitializer.initialize(Context)
function.
05-04 16:33:53.766: E/AndroidRuntime(21613): at android.app.LoadedApk.makeApplication(LoadedApk.java:516)
二、问题分析:
百度地图开发在使用 SDK 各组间之前需初始化 context 信息,传入 ApplicationContext 信息。从问题看是由于没有做此初始引起。
检查发现manifest.xml中 <application> 标签中没有定义对应application。
三、解决方法:
1、定义application类
import android.app.Application;
import com.baidu.mapapi.SDKInitializer;
public class MapApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// 在使用 SDK 各组间之前初始化 context 信息,传入 ApplicationContext
SDKInitializer.initialize(this);
}
}
2、将新定义的application部署到manifest.xml
3、重新编译运行,问题解决。
在开发需求驱动下的官方例子学习,是学习的捷径之一。
具体步骤如下:
从官方下载例子包,通过观摩例子源码与功能关联关系,了解百度地图开发要点。但在分离过程中eclipse下遇到如下报错信息:
一问题描述:
05-04 16:33:53.766: E/AndroidRuntime(21613): Process: com.example.baidumaptest, PID: 21613
05-04 16:33:53.766: E/AndroidRuntime(21613): java.lang.RuntimeException: Unable to instantiate application com.example.baidumaptest.OverlayDemo: java.lang.IllegalStateException: you have not supplyed the global app context info from SDKInitializer.initialize(Context)
function.
05-04 16:33:53.766: E/AndroidRuntime(21613): at android.app.LoadedApk.makeApplication(LoadedApk.java:516)
二、问题分析:
百度地图开发在使用 SDK 各组间之前需初始化 context 信息,传入 ApplicationContext 信息。从问题看是由于没有做此初始引起。
检查发现manifest.xml中 <application> 标签中没有定义对应application。
三、解决方法:
1、定义application类
import android.app.Application;
import com.baidu.mapapi.SDKInitializer;
public class MapApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// 在使用 SDK 各组间之前初始化 context 信息,传入 ApplicationContext
SDKInitializer.initialize(this);
}
}
2、将新定义的application部署到manifest.xml
3、重新编译运行,问题解决。
相关文章推荐
- android 基础 @SuppressLint("NewApi")和@TargetApi()的作用与区别
- android开发期间使用真机调试但系统无法识别出真机
- Android广播机制基础
- android studio断点调试
- Android 6.0 - 动态权限管理的解决方案
- Android 创建一个activity 及创建Intent对象跳转界面并传值
- Android用SharedPreference存储数据
- Android消息传递机制----Handler
- [置顶] Android开发之pdf
- java.lang.ClassCastException: android.widget.*Layout$LayoutParams
- android studio 包依赖
- Android线程配合handler详解
- ANDROID源码编译3 - 编译和运行
- Android开发:Android studio 无法在可视化页面预览XML布局文件以及丢失R文件
- Android蓝牙开发浅谈
- Android getResources()方法
- Android 耳机状态监听
- Android Studio中如何打JAR包
- Android快速开发系列 10个常用工具类
- Android属性allowBackup安全风险浅析