老司機(jī)學(xué)新平臺(tái) - Xamarin開發(fā)之我的第一個(gè)MvvmCross跨平臺(tái)插件:SimpleAudioPlayer
大家好,老司機(jī)學(xué)Xamarin系列又來啦!上一篇MvvmCross插件精選文末提到,Xamarin平臺(tái)下,一直沒找到一個(gè)可用的跨平臺(tái)AudioPlayer插件。那就自力更生,讓我們就自己來寫一個(gè)吧!
源碼和Nuget包
源碼:https://github.com/teddymacn/Teddy-MvvmCross-Plugins
Nuget包:https://www.nuget.org/packages/Teddy.MvvmCross.Plugin.SimpleAudioPlayer/
MvvmCross的PCL+Native插件架構(gòu)簡介
在開始寫一個(gè)MvvmCross插件之前,先簡單介紹一下MvvmCross的插件架構(gòu)。MvvmCross的插件,一般有三種類型:純PCL,PCL+Native和Configurable插件。本文介紹的是,最典型最常用的一種插件類型,即PCL+Native,簡單的說,就是一個(gè)PCL的Portable項(xiàng)目包含服務(wù)的接口,各個(gè)Platform特定的Xamarin Native項(xiàng)目包含不同平臺(tái)的接口實(shí)現(xiàn)。
PCL項(xiàng)目除了需要包含一個(gè)服務(wù)接口外,還會(huì)包含一個(gè)PluginLoader類,這個(gè)類有一個(gè)標(biāo)準(zhǔn)實(shí)現(xiàn),和我們要實(shí)現(xiàn)的自定義功能沒關(guān)系,只是調(diào)用的MvvmCross框架的相關(guān)類,它的代碼一般固定是這樣的:
public class PluginLoader : IMvxPluginLoader { public static readonly PluginLoader Instance = new PluginLoader();
網(wǎng)友評論