Xamarin.Android Binding 源自github第三方库的绑定(初级教学)----aar文件

好记性不如烂笔头,所以就有了这篇文章. 

先来个简单的Android第三方库的绑定,就是不依赖别的库的库,build时不会出现error的那种 

所以我找了一个超级简单的第三方库----Loading,github地址:https://github.com/open-android/Loading

效果图:

1. vs2017安装  Xamarin.GradleBindings插件--作者:EgorBo

项目GitHub地址:https://github.com/EgorBo/Xamarin.GradleBindings

(A simple way to generate Xamarin Android Bindings from the build.gradle file)

 

VS2017--->工具--->扩展和更新--->联机--->搜索--->Xamarin.GradleBindings,安装.

英文文档:https://marketplace.visualstudio.com/items?itemName=EgorBogatov.XamarinGradleBindings#overview

(大家安装后,记得给这位作者,五颗星★★★★★)

2.打开vs2017,创建android--单一视图应用----LoadingProject

 

3.解决方案LoadingProject--->引用(右键)--->Generate Xamarin.Android Bindings via gradle

 

4.选择当前android sdk的位置,如果你没动你android sdk的位置的话,默认地址应该就是对的,但是最好还是检查一下

 

 

5. ok-->

在Loading github readme文件里找到( https://github.com/open-android/Loading/blob/master/README.md  )

在build.gradle添加依赖

     compile 'com.github.open-android:Loading:1.0'

根据那个库的作者所写的compile

,填写 External dependency id:     com.github.open-android:Loading:1.0

 

 --------->ok

第一次运行时间会长一点,请耐心等待.

成功后,你会发现解决方案里多了一个Binding_Loading(android binding library---绑定库(Android))的项目,
Binding_Loading项目里多了一个aar文件:Loading-1.0.aar(一般来说文件名不要加这个"-"符号,它自动生成的,我也没办法...可以自己改)
 


检查一下aar文件的属性里的生成操作是不是:LibraryProjectZip,如果是的,那就没问题了




6.重新生成Binding_Loading项目---->成功后,打开这个项目的文件夹,LoadingProject\LoadingProject\AndroidBindings\Binding_Loading\bin\Debug
找到这个文件Binding_Loading.dll(这就是我们刚才绑定的Loading库(java)的C#版本了),复制这个文件到一个你能找的到的地方(随意)

7. 让我们直接删掉这个Binding_Loading项目(它的使命已经完成了)

 

 

 

8. LoadingProject--->引用(右键)--->添加引用--->浏览(左键)--->浏览(左键)--->找到刚才你复制的那个Binding_Loading.dll

 

9. 准备工作已经做好了,让我们开始使用这个用java写的Loading库(已经被我们转换成C#)吧

让我们查看一下GitHub的readme文件 还讲了什么

For example(这是java版本的代码):

AlertDialog dialog = new SpotsDialog(context);
dialog.show();
...
dialog.dismiss();

===========

让我们在LoadingProject-->MainActivity.cs-->OnCreate方法里试一试吧

在这段代码button.Click += delegate { button.Text = string.Format("{0} clicks!", count++); };后面

添加以下两行C#代码

AlertDialog dialog = new SpotsDialog(this);
dialog.Show();

 

 

为什么会有红色的波浪线出现,是因为我们虽然在LoadingProject项目里添加了Binding_Loading.dll的引用,但是我们并没有在MainActivity.cs里面声明命名空间

 

点击那个小灯泡,vs就会自动把命名空间添加到MainActivity.cs的using的后面

using Dmax.Dialog;

10.  OK,万事大吉,让我们开始运行吧,点击调试->开始调试(或者点击那个工具栏的绿色三角形)

 

 

恭喜,你已经成功完成了一个最简单的源自github的第三方Android Library库的  绑定了,而且已经成功使用了

由于这只是初级教学篇,我不想写太多............

在后面的中级教学篇,我们会涉及到依赖多个android库的第三方库绑定(build时依然不会出现error,我特意挑选的一个库,会有不少warning(就是你build成功,但是你找不到那些class),我们要处理这些warning)

老司机应该已经阅读过官方的文档了吧???

https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/

 

 

PS:  using Dmax.Dialog在我们的Binding_Loading.dll里面,你可以通过点击 引用 ,双击 Binding_Loading, 找到  SpotsDialog这个类

posted @ 2017-09-19 02:06  牛肉汤先生  阅读(1805)  评论(0编辑  收藏  举报