好記性不如爛筆頭,所以就有了這篇文章.
先來個簡單的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這個類