好记性不如烂笔头,所以就有了这篇文章.
先来个简单的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这个类