Xamarin.Android开发实践(十一)
Xamarin.Android之使用百度地图起始篇
一、前言
如今跨平台开发层出不穷,而对于.NET而言时下最流行的当然还是 Xamarin,不仅仅能够让我们在熟悉的Vs下利用C#开发,在对原生态类库的支持方面也有着非常的好支持,今天我们将会以百度地图类库来介绍如何实用 第三方原生态类库。如果需要在Fragment中使用请跳转到(由网友monosir提供)该篇文章.
二、正文
笔者采用的是3.0.0的版本,需要以下文件:
baidumapapi_v3_0_0.jar
libBaiduMapSDK_v3_0_0.so
1.新建项目
2.将baidumapapi_v3_0_0.jar赋值到Jars文件夹下
3.修改其属性
4.如果我们直接生成是会出错的,所以我们在Metadata.xml中加上一个属性
内容如下所示
1 <metadata>
2 <attr path="/api/package[@name='com.baidu.mapapi']/class[@name='VersionInfo']/field[@name='VERSION_INFO']" name="name">VersionInfos</attr>
3 </metadata>
如果读者没有加这个直接生成会出现一个属性的名称跟类的名称相同,所以我们需要重命名。更多的使用方式可以见如下网站(英文):
http://www.mono-project.com/GAPI#Metadata
5.成功生成
现在我们就绑定好了,剩下我们就需要使用了。
6.创建一个Android应用
7.引用之前的内库项目
如果出现引用了,但是无法实用其中的方法,可以尝试直接引用生成的dll
8.打开AssemblyInfo文件将百度地图的配置写进去
内容如下所示:
9.将so格式的文件放入项目中
在项目中新建libs文件夹以及armeabi文件夹
10.设置libBaiduMapSDK_v3_0_0.so的生成操作为AndroidNativeLibrary
11.最后在MainActivity.cs中写入初始代码
12.最后我们就可以看到百度地图了(必须是ARM虚拟机,不可以是Intel Atom)
13.关于如何获取SHA1值,我们可以先下载一个开发android的eclipse工具
打开Window->Preferences后出现一个对话框,紧接着继续选择:
接着点击Browse选择C:\Users\Administrator\AppData\Local\Xamarin\Mono for Android目录下的debug.keystore文件之后我们就可以看到SHA1值了,接着就可以去申请授权了。
Xamarin.Android开发实践(十一)的更多相关文章
- Xamarin.Android开发实践(五)
原文:Xamarin.Android开发实践(五) 一.服务的生命周期 服务与活动一样,在它的整个生命周期中存在着一些事件,下图可以很好解释整个过程以及涉及到的方法: 在真实的使用中,Service来 ...
- Xamarin.Android开发实践(四)
原文:Xamarin.Android开发实践(四) Xamarin.Android下获取与解析JSON 一.新建项目 1.新建一个Android项目,并命名为为NetJsonList 2.右击引用,选 ...
- Xamarin.Android开发实践(三)
原文:Xamarin.Android开发实践(三) 一.前言 用过Android手机的人一定会发现一种现象,当你把一个应用置于后台后,一段时间之后在打开就会发现应用重新打开了,但是之前的相关的数据却没 ...
- Xamarin.Android开发实践(二)
原文:Xamarin.Android开发实践(二) 一.准备 开始学习本教程前必须先完成该教程http://www.cnblogs.com/yaozhenfa/p/xamarin_android_qu ...
- Xamarin.Android开发实践(一)
原文:Xamarin.Android开发实践(一) 一.准备工作 1.创建一个空的解决方案,并命名为Phoneword 2.右击解决方案 新建->新建项目 并命名为Phoneword_Droid ...
- Xamarin.Android开发实践(十七)
Xamarin.Android之定位 一.前言 打开我们手中的应用,可以发现越来越多的应用使用了定位,从而使我们的生活更加方便,所以本章我们将学习如何在Xamarin中进行定位的开发. 二.准备工作 ...
- Xamarin.Android开发实践(十五)
Xamarin.Android学习之应用程序首选项 一.前言 任何App都会存在设置界面,如果开发者利用普通控件并绑定监听事件保存设置,这 一过程会非常的枯燥,而且耗时.我们可以看到Android系统 ...
- Xamarin.Android开发实践(十四)
Xamarin.Android之ListView和Adapter 一.前言 如今不管任何应用都能够看到列表的存在,而本章我们将学习如何使用Xamarin去实现它,以及如何使用适配器和自定义适配器(本文 ...
- Xamarin.Android开发实践(九)
Xamarin.Android之ActionBar与菜单 一.选项卡 如今很多应用都会使用碎片以便在同一个活动中能够显示多个不同的视图.在 Android 3.0 以上的版本中,我们已经可以使用Act ...
随机推荐
- 人工神经网络(ANN)
参考资料:http://www.cnblogs.com/subconscious/p/5058741.html 从函数上来看,神经网络是回归方程的级联叠加,用来逼近目标函数的,本质是一种模拟特征与目标 ...
- 不要在初始化方法和dealloc方法中使用Accessor Methods
苹果在<Advanced Memory Management Programming Guide>指出: Don’t Use Accessor Methods in Initializer ...
- LVS-DR工作原理
我们都知道LVS有LVS-DR,LVS-NAT,LVS-TUN三种模式,其中DR模式意为Direct Routing(直接路由).对于LVS-DR,你到底了解到什么程度?本文通过一个实例场景,详细介绍 ...
- 使用SqlSessionTemplate实现数据库的操作
EmployeeMapper.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE map ...
- Serenity框架官方文档翻译前言(什么是Serenity平台)
什么是Serenity平台 Serenity是一个 ASP.NET MVC / Javascript 的已经建立在开源技术上的平台 它的目标是让开发变得更容易,同时降低维护成本,避免样板式代码,减少重 ...
- 基于 MeanShift 算法的目标跟踪问题研究
参考:http://www.cnblogs.com/tornadomeet/archive/2012/03/15/2398769.html MeanShift 算法作为一种基于特征的跟踪方法,基本思想 ...
- SQL表值函数和标量值函数的区别
SQL表值函数和标量值函数的区别 写sql存储过程经常需要调用一些函数来使处理过程更加合理,也可以使函数复用性更强,不过在写sql函数的时候可能会发现,有些函数是在表值函数下写的有些是在标量值下写的, ...
- Maximum Product of Word Lengths
Given a string array words, find the maximum value of length(word[i]) * length(word[j]) where the tw ...
- poj 1664
http://poj.org/problem?id=1664 题目是中文的,一个递归的题目 把每一次的苹果分为两类 Ⅰ:所以盘子都放一个,然后其他的在随便放: Ⅱ:有一个盘子没有放苹果: 这样下去的话 ...
- vim技巧之快速进入引号删除至右引号前的内容
参考:http://blog.chinaunix.net/uid-23381466-id-88482.html f'l ct' #fX,X可用任何字符,l表示向右移一位,ct'表示删除至引号前di'