老司機(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();
延伸閱讀
- ssh框架
2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖
2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe
2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】
2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞
2017-07-26
- 從棧不平衡問題 理解 calling convention
2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明
2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解
2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析
2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二)
2017-07-26
學(xué)習(xí)是年輕人改變自己的最好方式