Xamarin与百度地图开发
听说Xamarin能够使用C#进行移动App开发,决定试一试,首先想做一个与百度地图显示相关的demo,过程记录如下:
1.从微软下载安装VS2015RC 社区版,最好用VPN下载安装,免得在安装Xamarin时影响速度。
2.破解Xamarin for visualstudio,我装的是3.11.666版本,百度搜索破解补丁。
3.更新Android SDK,这个必须用VPN了,或者采用国内镜像站点,反正我使用的是VPN,最好将所有的SDK一股脑下载下来,特别是System image。
4.下载百度地图SDK,用VS 2015 新建一个BingdingLibary,将java库文件转换为.net链接库,具体过程百度。
5.用VS建立一个BlankApp项目,生成,部署,过程见百度。
6.百度地图发布时需要KEY,这个需要现有百度帐号,而后申请,其地址为http://lbsyun.baidu.com/apiconsole/key。
7.其他好说,关键是这个安全码。Android SDK安全码组成:数字签名+;+包名。其获取方法为,关键是执行这个命令的路径。找到其中的SHA1签名,并从App中找到包名,即可获取安全码,用此安全码创建应用,获取KEY,还有,密钥库的默认口令为android,很多人都不知道哦。
8.androidmanifest.xml配置文件内容如下。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="MapApp.MapApp" android:versionCode="1" android:versionName="1.0" android:installLocation="auto">
<uses-sdk />
<application android:label="MapApp" android:icon="@drawable/Icon">
<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="IqtpU2laXQZRdtHCKwaYVCIm" />
<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"></service>
<activity android:name="com.baidu.mapapi.search.PlaceCaterActivity" android:configChanges="orientation|keyboardHidden" android:theme="@android:style/Theme.NoTitleBar"></activity>
</application>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
</manifest>