好丫小子之前发布过百度地图android SDK的mono for android绑定dll,许多朋友看过之后说想理解是怎么绑定的,现我把绑定的代码发出来。

针对2.1.2版本百度地图android sdk

Metadata.xml

<metadata><remove-node path="/api/package[@name='com.baidu.mapapi.cloud']/class[string-length (@name) = 1]" />  <remove-node path="/api/package[@name='com.baidu.mapapi.search']/class[@name = 'PlaceCaterActivity']" />  <remove-node path="/api/package[@name='com.baidu.platform.comapi.map']/class[string-length (@name) = 1 and @name!='u'  and @name!='z']" />  <attr path="/api/package[@name='com.baidu.platform.comapi.map']/class[@name='u']" name="obfuscated">false</attr>  <attr path="/api/package[@name='com.baidu.platform.comapi.map']/class[@name='u']" name="managedName">Overlay</attr>  <attr path="/api/package[@name='com.baidu.platform.comapi.map']/class[@name='z']" name="obfuscated">false</attr>  <attr path="/api/package[@name='com.baidu.platform.comapi.map']/class[@name='z']" name="managedName">TransitOverlay</attr>  <attr path="/api/package[@name='com.baidu.platform.comapi.map']/class[@name='z']" name="extends">java.lang.Object</attr>  <attr path="/api/package[@name='com.baidu.vi']/class[@name='d']" name="obfuscated">false</attr>   <attr path="/api/package[@name='com.baidu.platform.comjni.permissioncheck']" name="managedName">Com.Baidu.Platform.Comjni._PermissionCheck</attr></metadata>

在Additions目录中新增一个Fx.cs文件,文件内代码如下

using System;using System.Collections.Generic;using System.Text;using Object = Java.Lang.Object; namespace Com.Baidu.Mapapi.Map{    public partial class ItemizedOverlay    {        public int Compare(Object object1, Object object2)        {            return object1.GetHashCode() - object2.GetHashCode();        }    }}

这部分代码主要是修正ItemizedOverlay类没实现基类的public int Compare(Object object1, Object object2)方法的错误

针对2.1.3版本百度地图android sdk

Metadata.xml

<metadata>  <!--  This sample removes the class: android.support.v4.content.AsyncTaskLoader.LoadTask:  <remove-node path="/api/package[@name='android.support.v4.content']/class[@name='AsyncTaskLoader.LoadTask']" />   This sample removes the method: android.support.v4.content.CursorLoader.loadInBackground:  <remove-node path="/api/package[@name='android.support.v4.content']/class[@name='CursorLoader']/method[@name='loadInBackground']" />  -->  <remove-node path="/api/package[@name='com.baidu.mapapi.cloud']/class[string-length (@name) = 1]" />  <remove-node path="/api/package[@name='com.baidu.mapapi.search']/class[@name = 'PlaceCaterActivity']" />  <remove-node path="/api/package[@name='com.baidu.vi']/class[@name = 'VDeviceAPI']" />  <remove-node path="/api/package[@name='com.baidu.platform.comapi.map']/class[@name = 'd']" />  <remove-node path="/api/package[@name='com.baidu.platform.comapi.map']/class[@name = 'y']" />   <attr path="/api/package[@name='com.baidu.platform.comapi.map']/class[@name='v']" name="obfuscated">false</attr>  <attr path="/api/package[@name='com.baidu.platform.comapi.map']/class[@name='v']" name="managedName">Overlay</attr>   <attr path="/api/package[@name='com.baidu.platform.comapi.map']/class[@name='A']" name="obfuscated">false</attr>  <attr path="/api/package[@name='com.baidu.platform.comapi.map']/class[@name='A']" name="managedName">TransitOverlay</attr>  <attr path="/api/package[@name='com.baidu.platform.comapi.map']/class[@name='A']" name="extends">java.lang.Object</attr>   <attr path="/api/package[@name='com.baidu.platform.comjni.permissioncheck']" name="managedName">Com.Baidu.Platform.Comjni._PermissionCheck</attr></metadata>

同样,在Additions增加以上Fx.cs文件及代码

具体代码请见
http://code.taobao.org/p/monodriodbindings/src/
用svn导出
使用方法见我之前的文章
Mono For Android中完美使用百度地图SDK(v2.1.2&v2.1.3)

转载自http://mdev.iquan.net/mono-for-android-baidumap-binding/

更多相关文章

  1. Android中设置控件透明度的方法
  2. 使用Bottom Navigation Activity实现Android底部导航栏
  3. 编译Android内核
  4. 在eclipse中查看android SDK的源代码
  5. Android(安卓)底部导航栏
  6. android boot 代码流程 1
  7. Android(安卓)JNI使用方法
  8. Android(安卓)开发常用代码
  9. 《Android》Lesson17-用Fragment实现简易新闻应用1

随机推荐

  1. Android Wear 开发-创建第一个卡片
  2. android 实现QQ好友列表
  3. 解决一个Android Studio gradle的小问题
  4. Android 官方示例:android-architecture
  5. Android之TextView 详细字典
  6. android多语言设置
  7. Android Studio如何生成APK文件
  8. 浅谈android hook技术
  9. Android 反编译apk 到java源码的方法
  10. android绘图