老司機(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(); 
        		

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式