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

摘要:
好记性不如烂笔头,所以就有了这篇文章. 先来个简单的Android第三方库的绑定,就是不依赖别的库的库,build时不会出现error的那种 所以我找了一个超级简单的第三方库----Loading,github地址:https://github.com/open-android/Loading效果图:1.vs2017安装  Xamarin.GradleBindings插件--作者:EgorBo项目

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

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

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

效果图:Xamarin.Android Binding 源自github第三方库的绑定(初级教学)aar文件第1张

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

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

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

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

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

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

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

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

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

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

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

--------->ok

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

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


检查一下aar文件的属性里的生成操作是不是:LibraryProjectZip,如果是的,那就没问题了
Xamarin.Android Binding 源自github第三方库的绑定(初级教学)aar文件第8张
6.重新生成Binding_Loading项目---->成功后,打开这个项目的文件夹,LoadingProject\LoadingProject\AndroidBindings\Binding_Loading\bin\Debug
找到这个文件Binding_Loading.dll(这就是我们刚才绑定的Loading库(java)的C#版本了),复制这个文件到一个你能找的到的地方(随意)
Xamarin.Android Binding 源自github第三方库的绑定(初级教学)aar文件第9张

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

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

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

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

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

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

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();

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

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

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

using Dmax.Dialog;

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

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

恭喜,你已经成功完成了一个最简单的源自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这个类

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

免责声明:文章转载自《Xamarin.Android Binding 源自github第三方库的绑定(初级教学)aar文件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇apache配置虚拟目录和URL重定向element-ui table 表格内出现一根横线???下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Google Drive 里的文件下载的方法

Google Drive 里并不提供创建直接下载链接的选项,但是可以通过小小的更改链接形式就能把分享的内容保存到本地。例如,一份通过 Google Drive 分享的文件链接形式为: https://drive.google.com/file/d/FILE_ID/edit?usp=sharing 如果将其改为下面修改版的形式,然后再通过浏览器打开,就会直...

goland上gin无代码自动提示

参考: https://blog.csdn.net/wang2dog/article/details/106051796 https://blog.csdn.net/wang2dog/article/details/106051796 本地用2021.1版,和参考处略有不同 file -> settings-> Go-> Go Modul...

CocoaPods安装和使用201712

CocoaPods安装使用详解 2017.12 首先,很有必要了解一下CocoaPods、Ruby和RubyGems,以及它们之间的关系。 CocoaPods是第三方库的辅助管理工具,依赖于Ruby。 Ruby是一种简捷的面向对象脚本语言。 RubyGems相当于Ruby的一个管理工具。 以下几个官网有必要看看, https://cocoapod...

VS2017 移动开发(Android and IOS) 序

序    公司原因,要求用C#开发移动端app,老板觉得用现在会的C#做会比较快。。。 从零开始,折腾一个多星期,重装系统三遍(强迫症),其它各种折腾,终于手机运行上了第一个APP,看看就好。。。   不得不吐槽几个按钮没有任何事件安装包有40M+。    (2018.04.03补充安装包大小可以多个设置进行减小)    因为Xamarin被微软收购,所以...

jenkins入门-----(1)安装、配置

Jenkins概念 Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。官网:https://jenkins.io/ 官方文档:https://jenkins.io/doc/ Jenkins特性 开源的java语言开...

Nginx配置同一个域名http与https两种方式都可访问

##配置 http://test.pay.joyhj.com https://test.pay.joyhj.com 两者都可访问 # vim /usr/local/nginx/conf/vhost/test.pay.joyhj.com.confserver{   listen 80;   listen 443 ssl;  ##把ssl on;这行注释掉,...