使用 Xamarin 的過(guò)程中,難免會(huì)有需要使用原生的第三方庫(kù)爬虱,畢竟 C# 的第三方庫(kù)還不完善,尤其是國(guó)內(nèi)服務(wù)的庫(kù),比如說(shuō)第三方登陸,分享忘瓦,支付等等。
為了節(jié)省時(shí)間售滤,這里提供一些已經(jīng)轉(zhuǎn)好的 Android SDK 供大家使用
你也可以自行建立一個(gè) Jar 的映射,使得 Xamarin 也能使用 Java 的庫(kù),不過(guò)在自動(dòng)生成的代碼中,由于 C# 和 Java 的差異導(dǎo)致會(huì)出現(xiàn)很多錯(cuò)誤。
以下是一些映射時(shí)常見(jiàn)的錯(cuò)誤,解決代碼請(qǐng)放到 Metadata.xml 里面(查看 Xamarin 生成的代碼可以看到每個(gè)類和方法的 Path):
Error CS0507
'Class.Method(Parameter)': cannot change access modifiers when overriding 'protected' inherited member 'Class.Method(Parameter)'
解決辦法
<pre><attr path="Path" name="visibility">protected</attr>
</pre>
Error CS0535
'Class' does not implement interface member 'Interface(Parameter)' (CS0535)
解決辦法
<pre><attr path="Path" name="managedType">Java.Lang.Object</attr>
</pre>
Error CS0234
The type or namespace name 'Class' does not exist in the namespace 'Namespace' (are you missing an assembly reference?)
常見(jiàn)解決辦法
<pre><attr path="Path" name="visibility">public</attr>
<attr path="Path" name="name">NewClass</attr>
</pre>
Error CS0542
'Method': member names cannot be the same as their enclosing type
解決辦法
<pre><attr path="Path" name="managedName">NewClass</attr>
</pre>