老司机学新平台 - Xamarin开发之我的第一个MvvmCross跨平台插件:SimpleAudioPlayer

大家好,老司机学Xamarin系列又来啦!上一篇MvvmCross插件精选文末提到,Xamarin平台下,一直没找到一个可用的跨平台AudioPlayer插件。那就自力更生,让我们就自己来写一个吧!

源码和Nuget包

源码:https://github.com/teddymacn/Teddy-MvvmCross-Plugins

Nuget包:https://www.nuget.org/packages/Teddy.MvvmCross.Plugin.SimpleAudioPlayer/

MvvmCross的PCL+Native插件架构简介

在开始写一个MvvmCross插件之前,先简单介绍一下MvvmCross的插件架构。MvvmCross的插件,一般有三种类型:纯PCL,PCL+Native和Configurable插件。本文介绍的是,最典型最常用的一种插件类型,即PCL+Native,简单的说,就是一个PCL的Portable项目包含服务的接口,各个Platform特定的Xamarin Native项目包含不同平台的接口实现。

PCL项目除了需要包含一个服务接口外,还会包含一个PluginLoader类,这个类有一个标准实现,和我们要实现的自定义功能没关系,只是调用的MvvmCross框架的相关类,它的代码一般固定是这样的:

public class PluginLoader : IMvxPluginLoader { public static readonly PluginLoader Instance = new PluginLoader(); 
        		

网友评论