• 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这个类

  • 相关阅读:
    git 教程
    darknet_ros 踩坑与解决办法
    相机与手臂的校准
    相机的内参外参标定
    VNC windous->linux
    12306 官网硬卧下铺的选择
    /usr/bin/ld: cannot find -lopencv_dep_cudart
    在Windows上安装GPU版Tensorflow
    机器学习基础
    [设计模式]行为型设计模式
  • 原文地址:https://www.cnblogs.com/ThenDog/p/7546865.html
Copyright © 2020-2023  润新知