Hướng dẫn sử dụng Xamarin.Android Binding Library

Tổng quát nhé! bạn có thư viện bên kia Java( file jar hoặc aar). Thì bạn hoàn toàn có thể sử dụng Xamarin.Android Binding Library để có thể sử dụng nó bên này C#. Và thông qua Xamarin.Android Binding Library sẽ sinh( generate) C# API để tương tác với thư viện Android Java cho bạn.

Tổng quát về Xamarin.Android Binding Library

Nhìn lại hình minh họa bên trên đi :)). Như bạn thấy đó Xamarin.Android Binding Library( kể từ bây giờ mình viết tắt là XAB) đã bọc cái thư viện Java bằng vỏ C#. “ Hồn Trương Ba da hàng thịt ” phải không?.

Ok! thế thôi, có gì đâu =)). Bắt tay vào làm nhỉ. Mình sẽ chọn một thư viện để demo cho cả nhà. Ở đây mình chọn thằng SimpleRatingBar

SimpleRatingBar

Xem nào, đầu vào phải là file jar hoặc aar. Kinh nghiệm ở đây là mình search ở hai nguồn maven repositoryJitPack trước. Còn không thì các bạn cứ Google it =)) .

Mình lên maven repository thì thấy luôn:

SimpleRatingBar

Click vào thui, thông thường các bạn sẽ chọn version mới nhất. Rồi, download file aar về.

Download file aar

Mở Visual Studio lên — -> Tạo mới project — -> Chọn Bindings Library (Android).

Tạo Bindings Library (Android).

Done! Lúc này IDE sẽ sinh ra ba thư mục

  • Thư mục “Jars” chứa tất cả file jar mà bạn muốn sử dụng lại
  • Thư mục “ Transforms” chứa các file cấu hình giúp bạn chỉnh sửa quá trình sinh ra API C#
  • Thư mục “ Additions” chứa mã code C# bạn có thể thêm chính class của bạn vào đây.

Bây giờ bạn cần copy cái file aar tải lúc trước vào thư mục Jars chọn Build Action phù hợp với file của mình mình chọn LibraryProjectZip( các bạn tìm hiểu thêm trên ở đây).

Thêm một chút là bạn sẽ phải thêm các phụ thuộc của thư viện bạn đang binding vào.

Các thư viện phụ thuộc
Thêm thư viện phụ thuộc

Mình thiếu support-v4 mình thêm vào thôi.

Thêm thư viện support-v4 vào project

Tiếp, Ấn Build và chờ đợi điều kì diệu!

Build project

Thông thường với những thư viện “bé bé xinh xinh” kiểu này các bạn sẽ không gặp error gì. Còn trong trường hợp có error( sẽ tùy vào từng lỗi sẽ có cách xử lý riêng và được trình bày trong một bài viết khác).

Bây giờ mình sẽ tạo một project Xamarin Android mới tên là SimpleRatingBarQs cùng solution với project binding vừa rồi và Add Reference tới project vừa binding

Add Reference tới project vừa binding

Quá nhẹ nhàng. Mình vừa binding một thư viện trong Android và sử dụng trong C#. Đây kết quả của nó đây :))

Thư viện Java được dùng trong C#

Binding Library thư viện nó cực kì dễ, nên không chúc ae cũng thành công thôi. =))

Xong rồi , nhưng đó là bạn làm bạn dùng. Thế thì ích kỉ quá. Lần tới mình sẽ hướng dẫn cả nhà publish thư viện các bạn đã Binding lên Nuget cho cộng đồng.

Happy Coding!!!