• MvvmCross for WPF File Plugin


    本文以MvvmCross为框架基础

    最近用了File Plugin插件,一开始也是没用明白,写一下记录下来,也方便需要的人吧

    首先这个File Plugin需要先在UI项目里创建一个Bootstrap的文件夹,然后写一个Plugin启动文件

    以WPF为例

    public class FilePluginBootstrap
            : MvxPluginBootstrapAction<Cirrious.MvvmCross.Plugins.File.PluginLoader>
        {
        }
    

     这样在启动的时候就会优先启动File Plugin了

    然后在Core项目中试用时

    var fileStore = Mvx.Resolve<IMvxFileStore>();
    string filePath = fileStore.PathCombine(fileStore.NativePath(""), @"BoardConfigFile.txt");
    if (fileStore.Exists(filePath))
    {
       Stream fileStream = new MemoryStream();
       byte[] bytes;
       bool isSuccessed = fileStore.TryReadBinaryFile(filePath, out bytes);
       string configString;
       bool isSuccessed2 = fileStore.TryReadTextFile(filePath, out configString);
    }
    else
    {
       MvxTrace.Warning("没有找到配置文件");
    }
    

     需要指出的是,这里的NatiePath是C:UsersXXXAppDataRoaming (XXX为当前登录用户),我在这里创建了一个Board文件夹,并在其中创建了ConfigFile.txt,具体使用时,可以根据你的需要创建你要用到的

    关于序列化

    1 Mvx.Resolve<IMvxJsonConverter>().SerializeObject(serializeObject);
    2 
    3 Mvx.Resolve<IMvxJsonConverter>().DeserializeObject<Model>(serializeString);
  • 相关阅读:
    乐观锁和悲观锁
    c++ inline使函数实现可以在头文件中,避免多重定义错误
    无锁队列的实现
    同步异步阻塞非阻塞
    log(m+n)找第k大
    ios开发常见的 工具 - 值得收藏
    iOS 性能优化得 方法
    搭建 安卓开发环境 !
    项目支持 64 - bit
    AFN学习笔记
  • 原文地址:https://www.cnblogs.com/heyixiaoran/p/3962683.html
Copyright © 2020-2023  润新知