祝各位2017年事业辉煌!开年第一篇博客,继续探索Xamarin.Forms… 为什么我做Xamarin开发的时候中意于Prism.Forms框架?本章为你揭晓. 实例代码地址:https://github.com/NewBLife/XamarinDemo/tree/master/TextToSpeechDemo DependencyService 1.简介 软件开发有一个原则叫[依赖倒置Dependence Inversion Principle ] A.高层次的模块不应该依赖于低层次的模块,…
有了上章[Xamarin+Prism开发详解六:DependencyService与IPlatformInitializer的关系]的基础,现在来理解Plugin开发就简单了. 本文实例代码地址:https://github.com/NewBLife/XamarinDemo/tree/master/Speecher 简介 Plugin其实就是各类相对独立的功能提取出来的Package,一般都不引用Xamarin相关类库,比如上章的Text To Speech功能(Github库地址https:/…
Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单总结一下成功安装方法: 1,Vmware Player 12.1.1-3770994(Virtual Box 老版本Win10上启动不了,新版本5.1不再支持Mac OS) 2,执行命令关闭Hyper-v服务重启:bcdedit /set hypervisorlaunchtype off (不然无法…
在[Xamarin+Prism小试牛刀:定制跨平台Outlook邮箱应用]中提到过以下错误,不知道大伙还记得不: 无法安装程序包"Microsoft.Identity.Client 1.0.304142221-alpha".你正在尝试将此程序包安装到目标为".NETPortable,Version=v4.5,Profile=Profile111"的项目中,但该程序包不包含任何与该框架兼容的程序集引用或内容文件.有关详细信息,请联系程序包作者. 不只是Microsof…
Visual studio 2017 RC出来一段时间了,最近有时间就想安装试试,随带分享一下安装使用体验. 1,卸载visual studio 2015 虽然可以同时安装visual studio 2015和2017,考虑个人电脑性能加空间有限还是先卸载一个吧.要想完全卸载visual studio2015,得下载微软团队开源得一个简单工具才行,开源项目地址https://github.com/Microsoft/VisualStudioUninstaller,工具下载地址TotalUnins…
说实在的研究Xamarin到现在,自己就没设计出一款好的UI,基本都在研究后台逻辑之类的!作为Xamarin爱好者,一些简单的页面布局知识还是必备的. 布局常见标签: StackLayout AbsoluteLayout RelativeLayout Grid ScrillViewer 主要拿个人最喜欢的StackLayout和Grid做说明. 1.StackLayout 通过它可以设置内部子元素的纵向或者横向布局,默认为纵向. <?xml version="1.0" encod…
我们知道在UWP里面有Resources文件xxx.resx,在Android里面有String.Xml文件等.那跨平台如何统一这些类别不一的资源文件以及Xaml设计文件如何绑定这些资源?应用支持多国语言时如何设置资源文件?还好Xamarin.Froms已经实现了我们的需求,不过语言设置还是得发一番功夫. 今天就最常用的一种(StaticExtension)进行使用说明,语言设置后续再说.先准备一个资源文件.(由于为跨平台使用记得设置为Public属性) 后台读取Resources文件方法 这种…
自动化测试很重要!很重要!以前多是手动测试,没有写过测试用例.这样的结果就是发现bug改了之后关联的其他功能又要从新测一遍.这样既浪费时间与成本,而且很无聊.之所以选择NUnit是公司需要,现在.net 系都流行xunit,有空再看看它吧.Nunit的xamarin应用有很多欠缺的地方,特为大伙补补坑.Nunit本身的Test,SetUp,Category等属性的使用下次再说. NUnit简介 ... an excellent example of idiomatic design. Most…
总共列出了12点,耐心点慢慢看! 1,添加了不少[代码样式]的设置项目. 通过合理的设置每个人都能写出优美的代码,而且团队项目也可以达到统一代码风格. this首选项:可以设置[字段,属性,方法,事件]的this是否需要,错误列表会列出[建议,警告,错误]等信息. 预定义的类型首选项:Int32还是int等类似设置. Var首选项:内置类型时是Var定义还是类型定义等设置. Object属性初始化:C#7.0特性,对象声明和属性设置同时实现多方便. 方法内部初始化变量:C#7.0特性,这样就不用…
在前面的几篇文章中,我们介绍了EasyPR中车牌定位模块的相关内容.本文开始分析车牌定位模块后续步骤的车牌判断模块.车牌判断模块是EasyPR中的基于机器学习模型的一个模块,这个模型就是作者前文中从机器学习谈起中提到的SVM(支持向量机). 我们已经知道,车牌定位模块的输出是一些候选车牌的图片.但如何从这些候选车牌图片中甄选出真正的车牌,就是通过SVM模型判断/预测得到的.   图1 从候选车牌中选出真正的车牌 简单来说,EasyPR的车牌判断模块就是将候选车牌的图片一张张地输入到SVM模型中,…