生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以 GPL发布,第三方组件有各自自身的许可协议。
2.3 Android开发环境搭建
Android开发工具有很多,开发者可根据自己的喜好进行选择。在此,推荐使用Eclipse作为自己的开发工具。搭建Android开发环境[8]首先要确保安装并配置了Java开发环境和Eclipse软件。操作步骤如下:
下载android-sdk-windows.rar和ADT-22.3.0.zip;
将android-sdk-windows.rar解压到指定的目录(目录中不要出现空格中文),运行sdk manager安装需要的android版本;
C:\WINDOWS\system32\drivers\etc\hosts,在末尾加入74.125.237.1 dl-ss
l.google;
在eclipse\dropins目录下创建adt文件夹,再在adt文件夹下创建eclipse目录,将adt中的features、plugins放入新建的eclipse目录并重启eclipse;
将..\android-sdk-windows\platform-tools和..\android-sdk-Windows\to
ols配置到path环境变量中。
3.相关配置和框架结构
3.1 工程配置
3.1.1 Android SDK的配置
在工程里新建libs文件夹,将开发包里的baidumapapi_vX_X_X.jar拷贝到libs根目录下,将libBaiduMapSDK_vX_X_X.so拷贝到libs\armeabi目录下。
图3 libs目录结构
在工程属性->Java Build Path->Librarie中选择"Add External JARs",选定baidumapapi_vX_X_X.jar,确定后返回。
通过以上两步操作后,您就可以正常使用百度地图SDK为您提供的全部功能了。[9]
由于adt插件升级,若您使用Eclipse adt 22的话,需要对开发环境进行相应的设置,方法如下:
在Eclipse 中选中工程,右键选 Properties->Java Build Path->Order and Export 使 Android Private Libraries处于勾选状态;
Project -> clean-> clean all。
3.1.2 定位SDK的配置
将liblocSDK4.so文件拷贝到libs/armeabi目录下。将locSDK4.1.jar文件拷贝到工程lib目录下,并在工程属性->Java Build Path->Libraries中选择"Add JARs",选定locSDK4.1.jar,确定后返回。这样您就可以在程序中使用定位SDK了。[10]
3.1.3 导航SDK的配置
在新建的Android工程里的assets目录添BaiduNaviSDK_Resource_vX_X_X
.png和channel,在libs目录添加BaiduNaviSDK_vX_X_X.jar、android_api_1。
1_forsdk.jar、need_lib.jar,在libs/armeabi目录添加libapp_BaiduNaviApp
lib_vX_X_X.so、libejTTS.so、libCNPackage.so。
图4 assets目录结构
对于need_lib.jar,它是百度移动统计SDK的部分,如果开发者同样也使用了百度移动统计SDK,并且添加need_lib.jar到工程时候发生代码冲突,此时应该把need_lib.jar去除掉。[11]
3.2 密钥申请
3.2.1 密钥简介
为了给用户提供更安全优质的服务,LBS开放平台针对Android平台的SDK产品引入Key认证机制,用户在使用之前需要先申请配置Key,并在程序相应位置填写您的Key。[12]
每个Key仅且唯一对于一个应用验证有效,即对该Key配置环节中使用的包名匹配的应用有效。因此,多个应用(包括多个包名)需申请多个Key,或者对一个Key进行多次配置。
若你需要在同一个工程中同时使用导航SDK、定位SDK和地图SDK,可以共用同一个key。
3.2.2 申请步骤
登陆,进入密钥申请页面。
图5 密钥申请页面
点击"创建应用",系统将为您弹出创建AK页面,输入应用名称,将应用类型改为:"for mobile"。
图6 创建界面
在应用类型选为"for mobile"后,需要配置应用的安全码。
图7 创建AK界面
安全码的组成规则为:Android签名证书的sha1值+";"+Packagename(数字签名+分号+包名),中间的分号为英文状态下的分号!
在输入安全码后,点击"确定"完成应用的配置工作后将会得到一个创建的Key。到这您就可以使用新Key来完成您的开发工作了。
图8 已申请Key界面
3.3 配置AndroidManisfet.xml
3.3.1权限配置
本程序中需要用到使用网络所需权限、读写外部存储卡权限、定位权限等,由于所需权限较多,在这不一一列举,详情请参考附录中的AndroidManisfet.xml权限配置。
3.3.2 添加对应的开发密钥
android:name="com.baidu.lbsapi.API_KEY" android:value="开发密钥">
3.3.3 声明service组件
android:name="com.baidu.location.f"
android:enabled="true"
android:process=":remote" >
3.4 程序结构
点击应用软件图标后,程序启动,进入主界面。主界面主要包含城市搜索、位置定位和其他四个界面的启动按钮。点击启动按钮后将进入其他四个界面,主要包含附近兴趣点的搜索、路线规划、公交线路查询和驾车导航。点击界面中的返回按钮后,将返回至界面。点击手机上的返回按钮程序退出。
图9 程序结构图
4.主页面设计
4.1 基本配置
4.1.1 配置main.xml
主界面采用相对布局,按钮组由在RadioGroup添加四个RadioButton组成,重写了点击后的动画效果,详情请参考附录配置main.xml。
图10 main.xml效果图
4.1.2 配置AndroidManifest.xml
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name"
android:screenOrientation="sensor" >
4.2 MainActivity代码设计
4.2.1创建地图MainActivity,并import相关类
import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.map.MapController;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.MyLocationOverlay;
import com.baidu.mapapi.search.MKSearch;
import com.baidu.mapapi.search.MKSearchListener;
4.2.2 MainActivity变量定义
在MyMapActivity中定义成员变量[13]:
private BMapManager mBMapMan;// 地图管理者
private MapView mMapView;// 地图
private MapController mMapController;// 地图控制
private MyLocationOverlay mLocationOverlay;// 定位图层
private LocationClient mLocationClient;// 定位控件
private LocationClientOption mOption;// 定位设置
private LocationData mLocData;// 定位数据
4.2.3 MainActivity主要变量初始化
mBMapMan = new BMapManager(getApplication());
mMapController = mMapView.getController();
mLocationClient.registerLocationListener(this); // 定位初始化
mMKSearch.init(mBMapMan, this);// 搜索服务初始化
mMapView.regMapViewListener(mBMapMan, this);// 添加地图监听
4.2.4 各控件设置
mMapController.setCenter(new GeoPoint((int) (31.244744 * 1E6),
(int) (121.507129 * 1E6)));// 默认显示上海
mMapController.setCompassMargin(300, 200);// 设置指南针位置
mOption.setLocationMode(LocationClientOption.LocationMode.
Hight_Accuracy);//设置定位模式
mOption.setOpenGps(true);// 打开GPS
mOption.setCoorType("bd09ll");// 百度经纬度
mOption.setScanSpan(1000);// 定位间隔时间1000ms
mMapView.setScaleControlPosition(10, 350);// 设置比
上一篇:
激励约束机制是企业健康发展的基础
下一篇:
数控回转工作台设计 毕业设计word2003