自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

转载 还在用AIDL吗?试试EasyMessenger吧

EasyMessenger直达Github项目地址一款用于Android平台的基于Binder的进程间通信库,采用annotationProcessor生成IPC通信需要的代码。EasyMessenger相对于AIDL具备如下优势:采用Java声明接口,更方便接口方法支持重载同时支持同步和异步通信EasyMessenger目前支持如下数据类型:boolean, byt...

2019-02-21 10:58:00 179

转载 Android组件化探索与实践

什么是组件化不用去纠结组件和模块语义上的区别,如果模块间不存在强依赖且模块间可以任意组合,我们就说这些模块是组件化的。组件化的好处实现组件化本身就是一个解耦的过程,同时也在不断对你的项目代码进行提炼。对于已有的老项目,实现组件化刚开始是很难受的,但是一旦组件的框架初步完成,对于后期开发效率是会有很大提升的。组件间间相互独立,可以减少团队间的沟通成本。每一个组件的代码量不会特别...

2019-02-17 00:06:00 191

转载 Android护眼模式功能小记

最近自己在做一个小说阅读器,看到某阅有护眼模式功能,别人都有,我怎么能没有?现在这功能已经不稀奇了,很多手机都带有这个功能。实现起来不难,用一个蒙版遮在界面上面就行。至于蒙版,可以用Window实现,也可以只用套个FrameLayout实现。Window实现的优点是,支持全局,切可以覆盖状态栏。缺点是需要权限声明,而悬浮窗权限在国内这些手机上相当不好搞,需要适配很多机型。F...

2017-08-15 12:19:00 505

转载 Android Binder机制详解:手写IPC通信

想要掌握一样东西,最好的方式就是阅读理解它的源码。想要掌握Android Binder,最好的方式就是写一个AIDL文件,然后查看其生成的代码。本文的思路也是来自于此。简介Binder是Android常用的一种进程间通信方式。当然,不使用Binder,你还可以使用Socket甚至文件来进行通信。通常Android上的进程间通信,指的就是远程Service的调用。开始新建测试工...

2017-08-03 16:39:00 268

转载 极简的Android RecyclerView Adapter(使用DataBinding)

阅读本篇文章需要读者对Android Databinding和RecyclerView有一定的了解。简介我们知道,DataBinding的核心理念是数据驱动。数据驱动驱动的目标就是View,使用DataBinding,我们通过添加、修改、删除数据源,View就会自动予以相关变化。Android RecyclerView的Adapter起的作用就是连接数据和View。一个最简单...

2017-07-27 11:24:00 213

转载 解决Angular2 (SystemJS) XHR error (404 Not Found) loading traceur

初学Angular2,跟着Angular2中文网学到HTTP这一节时出现了一个异常:GET http://localhost:3000/traceur 404 (Not Found)Error: (SystemJS) XHR error (404 Not Found) loading http://localhost:3000/traceur Error: XHR error...

2016-10-26 23:30:00 580

转载 Android视频录制从不入门到入门系列教程(四)————Camera Parameter

Camera提供了一个叫做setParameters的方法帮助开发者设置相机的相关参数。通过Camera的getParameters方法可以获取到当前为相机设置的相关参数。下面简单介绍下,视频录制会用到的几个参数的用法。一、设置PreviewSize,即视频预览大小,也即输出到SurfaceView的视频图片的分辨率大小。需要注意的是,PreviewSize只有那么有限的...

2016-06-05 10:24:00 190

转载 Android视频录制从不入门到入门系列教程(三)————视频方向

运行Android视频录制从不入门到入门系列教程(二)————显示视频图像中的Demo后,我们应该能发现视频的方向是错误的。由于Android中,Camera给我们的视频图片的原始方向是下图这个样子的:就是说,即使你是竖着拿手机的,Camera提供给你的视频图像的方向还是上图那样横着的图片。我们可以通过下述方向改变Camera提供的视频图像的方法:camera.s...

2016-06-04 23:01:00 118

转载 Android视频录制从不入门到入门系列教程(二)————显示视频图像

1、创建一个空的工程,注意声明下列权限:<uses-permission android:name="android.permission.CAMERA"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>2、布局文件<?xml ...

2016-06-04 22:39:00 106

转载 Android视频录制从不入门到入门系列教程(一)————简介

一、WHYAndroid SDK提供了MediaRecorder帮助开发者进行视频的录制,不过这个类很鸡肋,实际项目中应该很少用到它,最大的原因我觉得莫过于其输出的视频分辨率太有限了,满足不了项目的需求。二、HOW所以实际项目如果需要实现视频录制这个需求,一般只有两条路可以走:找第三方视频录制SDK自己实现如果你的产品经理选择了第一条路,那么恭喜你,你会少...

2016-06-04 22:38:00 125

转载 WPF:在DataTemplate中使用DataType

DataTemplate中的DataType的功能实际上和Style中的TargetType很类似。在Style中,使用了TargetType之后,如果不定义Style的Key,那么这个Style将会影响到它所在区域的所有TargetType控件的样式。同理,在DataTemplate中,使用了DataType之后,如果不定义DataTemplate的Key,那么这个DataTe...

2015-04-01 20:46:00 710

转载 WPF:使用TypeConverter

所谓TypeConverter就是类型转换器,支持两种类型之间相互转换你可以重写转换逻辑,只要你清楚转换的协议,就可以实现类型互转。定义一个Person类型,具有一个int类型的Age属性:public class Person { public int Age { get; ...

2015-03-28 22:47:00 212

转载 WPF:实现自定义标记扩展

标记扩展使用{标记扩展类 参数}语法,如:<TextBlock Text={x:Null}/>为什么x:Null就可以返回一个null值呢?其实在System.Windows.Markup命名空间中存在一个名为“NullExtension”的类型。在解析到x:Null的时候,实际上会实例化NullExtension的一个对象。而NullExtens...

2015-03-28 21:17:00 192

转载 WPF:浅析Dispatcher

本人文笔差。还是直接上代码吧。(本文假设你对WPF中的Dispatcher有一定的了解)你觉得下面的代码可以正常执行吗? private void Button_Click(object sender, RoutedEventArgs e) { Thread t = new Thread(() => ...

2015-03-26 20:42:00 169

转载 C#:在匿名方法中捕获外部变量

先来一段代码引入主题。如果你可以直接说出代码的输出结果,说明本文不适合你。(代码引自《深入理解C#》第三版) class Program { private delegate void TestDelegate(); static void Main(string[] args) { ...

2015-03-21 16:09:00 243

转载 C#1到C#4使用委托的几种方式

using System;namespace DelegateDemo{ class Program { private delegate int Cacu(string str); static void Main(string[] args) { //1 ...

2015-02-28 09:12:00 134

转载 Visual Studio 无法记忆标签页、断点等的解决办法

1.到工程目录删除*.suo文件2.*.suo默认是隐藏的,需要打开查看隐藏文件的开关转载于:https://www.cnblogs.com/DoNetCoder/p/4289926.html

2015-02-13 11:11:00 130

转载 WPF:间接支持虚拟化的ListBox

/// <summary> /// 间接实现了虚拟化的ListBox /// 子项必须实现IVisible接口 /// 你可以在IsVisible发生改变时实现一系列自定义动作 /// 比如:当IsVisible = false时,清空子项的内容;当IsVisible = true时,还原子项的内容 /// &...

2015-02-10 17:52:00 145

转载 WPF:Webbrowser 捕获关闭事件

有点难描述说的是什么。大概就是下面这个图:窗体中嵌套一个Webbrowser,现在网页请求关闭响应MessageHook事件:this.webBrowser.MessageHook += webBrowser_MessageHook;IntPtr webBrowser_MessageHook(IntPtr hwnd, int msg, IntPtr wPara...

2014-12-17 18:30:00 165

转载 WPF:完美自定义MeaagseBox 2.0

很久前做个一个MessageBox,原文链接:http://www.cnblogs.com/DoNetCoder/p/3843658.html。不过对比MessageBox还有一些瑕疵。这些天有时间就更新了一下:1.重载了几个新的Show方法,和官方的MessageBox相差无几了。2.去掉了最小化按钮(我觉得最小化按钮简直就是画蛇添足)3.窗体高度可以随着内容的多少随之...

2014-12-14 15:43:00 155

转载 在Windows Phone 8.1中使用Sqlite数据库

前言 我的工作目前不涉及到Windows...

2014-12-10 16:07:00 128

转载 Visual Stuido Online:如何禁止多人同时签出同一文件

这里只说操作步骤,不讨论为什么要禁止同时多个签出同一文件。版权声明:转载请保留原文链接。友情链接:http://www.zhoumy.cn转载于:https://www.cnblogs.com/DoNetCoder/p/4133913.html...

2014-11-30 22:48:00 114

转载 C#:如何使方法过时,如何否决方法

在使用.Net Frameworkd进行开发时,经常可以在方法的智能提示ToolTip上面看到一个方法是【否决的】,如图:或者在警告里面:甚至使用【否决的】方法的时候还会造成编译错误:上面的这些相信,大家在日常的开发过程中或多或少的都碰到过。为什么要否决一个方法?这个可能是该方法效率不够高、容易造成内存泄漏、或者兼容性不好等等很多原因。那么如何否决一个方法...

2014-11-26 11:02:00 296

转载 使用Visual Studio 2013进行单元测试--初级篇

1.打开VS2013 --> 新建一个项目。这里我们默认创建一个控制台项目。取名为UnitTestDemo2.在解决方案里面新增一个单元测试项目。取名为UnitTestDemoTest创建完毕后项目结构大概如下:3.进入控制台项目UnitTestDemo的Program类,创建一个Add方法。namespace UnitTestDemo{ c...

2014-11-25 15:15:00 501

转载 C#:获取视频某一帧的缩略图

读取方式:使用ffmpeg读取,所以需要先下载ffmpeg。网上资源有很多。原理是通过ffmpeg执行一条命令获取视频某一帧的缩略图。首先,需要获取视频的帧高度和帧宽度,这样获取的缩略图才不会变形。获取视频的帧高度和帧宽度可以http://www.zhoumy.cn/?id=9通过查看。获取到视频的帧高度和帧宽度后,还需要获取缩略图的高度和宽度,这是按比例缩放的。比如...

2014-11-15 20:09:00 1618

转载 C#:读取视频的宽度和高度等信息

读取方式:使用ffmpeg读取,所以需要先下载ffmpeg。网上资源有很多。通过ffmpeg执行一条CMD命令可以读取出视频的帧高度和帧宽度信息。如图:蓝线框中可以看到获取到的帧高度和帧宽度。接下来的事情就简单了。构造一个命令,然后执行就ok。我并未测试过所有视频格式,估计常见的格式应该都支持。执行命令的代码如下:/// <summar...

2014-11-15 20:06:00 1485

转载 Visual Studio未能加载“XX”包的解决方案

1.打开命令行(管理员)2.进入到devenv.exe所在的目录u3.输入devenv,会出现帮助提示4.将所有带“Reset..”的命令执行一遍5.OK我尝试过使用修复功能,貌似没有作用。转载声明:本文转载自http://www.zhoumy.cn,原文链接:http://www.zhoumy.cn/?id=8转载于:https://www...

2014-11-13 13:57:00 471

转载 WPF:解决DataGrid横向滚动条无法显示的问题

DataGrid的最后一列的宽度设置为“Width=”auto””即可。如果显示指定长度或者设置为“*”,那么不管怎么拖动列头,或者不管行里面的内容有没有超过DataGrid的显示区域,DataGrid的横向滚动条都不会显示出来。转载声明:本文转载至http://www.zhoumy.cn,文章链接:http://www.zhoumy.cn/?id=7转载于:ht...

2014-11-09 21:00:00 1182

转载 C# Params的使用

using System;namespace Params{ class Program { static void Main(string[] args) { PrintMany("Hello", "World"); } static void Pri...

2014-11-09 16:38:00 83

转载 C#:关于C#4中IEnumerable<out T>的理解

IEnumerable<out T>这个接口非常常见,它是最基础的泛型集合接口,表示可迭代的项的序列。但是奇怪的是为什么泛型参数要带一个“out”?经过一番资料查阅后,发现此“out”和C#中的“out”类型参数的“out”并非一个意思。IEnumerable<out T>中的out表示这个接口支持“协变性”。何谓“协变性”?简单的理解就...

2014-11-08 18:05:00 270

转载 C#:判断当前程序是否通过管理员运行

public bool IsAdministrator(){WindowsIdentity current = WindowsIdentity.GetCurrent();WindowsPrincipal windowsPrincipal = new WindowsPrincipal(current);return windowsPrincipal.IsInRole(W...

2014-11-07 15:06:00 152

转载 关于WPF中TextBox使用SelectAll无效的问题的解决办法

1.首先保证你设置的SelectionBrush不是透明的颜色或者和背景色相同2.在使用SelectAll之前要保证Textox以及获取到焦点。this.textbox.SelectionBrush = Brushes.Blue;this.textbox.Focus();this.textbox.SelectAll();转载于:https://www.c...

2014-10-20 14:47:00 697

转载 C# Partial:分部方法和分部类

using System;namespace Partial{ class Program { static void Main(string[] args) { A a = new A(); } } partial class A {...

2014-09-19 13:07:00 157

转载 WPF:Hyperlink如何绑定数据

<TextBlock> <Hyperlink> <Run Text="{Binding PCFolderPath, Mode=OneWay}"/> </Hyperlink></TextBlock>转载于:https://www.cnblogs.com/DoNetCoder/p/396...

2014-09-10 17:47:00 361

转载 WPF:自定义Metro样式文件夹选择对话框FolderBrowserDialog

1.前言WPF并没有文件选择对话框,要用也就只有使用Winform版的控件。至今我也没有寻找到一个WPF版本的文件选择对话框。可能是我眼浊,如果各位知道有功能比较健全的WPF版文件选择对话框、文件打开对话框,还请留言告知。这次做的是一个精简版的文件选择对话框。包含一个UserControl和一个承载UserControl的Window。另外TreeVie...

2014-07-20 15:07:00 515

转载 WPF:完美自定义MeaagseBox 动画 反弹 背景模糊 扁平化

不知道为什么,WPF的MeaageBox的风格还停留在Win 2000的风格。。。很久前就想自己封装一个MessageBox出来,但是都只是简单的封装,不怎么具有通用性。这次终于搞完了。使用方法和系统的MessageBox的使用方法相似度90%以上。另外10%主要是自己加进去了一些更实用的东西进去。好,废话不多说。MessageBox经常使用的元素有这些:1...

2014-07-14 22:29:00 225

转载 WPF:Metro样式ProgressBar(圆点横向移动),自适应宽度

先看效果图:最直观的,这是4个圆点在移动,就用一个横向的StackPanel表示这四个点吧。<StackPanel Orientation="Horizontal"> <StackPanel.Resources> <Style TargetType="{x:Type Border}">...

2014-07-06 10:45:00 359

转载 WPF控件库:图片按钮的封装

需求:很多时候界面上的按钮都需要被贴上图片,一般来说:1.按钮处于正常状态,按钮具有背景图A2.鼠标移至按钮上方状态,按钮具有背景图B3.鼠标点击按钮状态,按钮具有背景图C4.按钮处于不可用状态,按钮具有背景图D实现起来,毫无疑问,没什么难度。但是过程还是比较繁琐。这里我将这个过程封装为新的控件类:ImageButtonImageButton中有四个属性(支持绑定...

2014-05-16 15:36:00 144

转载 WPF控件库:文字按钮的封装

需求:封装按钮,按钮上面只显示文字。在鼠标移上去、鼠标点击按钮、以及将按钮设为不可用时按钮的背景色和前景色需要发生变化实现:继承Button类,封装如下6个属性:#region 依赖属性/// <summary>/// 当鼠标移到按钮上时,按钮的前景色(这是依赖属性)/// </summary>public static readonl...

2014-05-16 13:26:00 162

转载 从头开始:详解MVVM、MVVMLight

究竟为什么要学习MVVM?相信大部分同学在刚开始接触MVVM的时候(包括我自己),心里默默在想这究竟是什么玩意?一个简单的功能要写一大段代码才能完成,在看到MVVM的核心目标:1.让UI界面与逻辑能够很好地分离又协同工作。2.让逻辑代码更具有可测试性。会觉得我不把我的UI和逻辑分离,我的代码一样可以很好的分离又协同工作;会觉得我不...

2014-05-10 11:59:00 177

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除