自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (18)
  • 收藏
  • 关注

原创 iOS实现点击Back返回按钮跨过多个ViewController跳到指定的ViewController

iOS里有UINavigationViewController通过栈来管理UIViewController,如果你使用segue来指定UIViewController之间的跳转,那么系统默认点击NavigationBar的返回按钮会回到上一个在栈里的UIViewController,也就是执行了栈的pop操作。那么问题来了,假如我的storyboard是这样的,ViewController A -> ViewController B -> ViewController C。在C里面点击了Ba

2021-03-18 19:24:04 442

原创 Win10 Antimalware Service Executable太占内存和CPU的解决办法以及Win10家庭版启用组策略gpedit.msc所遇到的坑

自从我买了Win10笔记本电脑以来,就有个问题不断困扰着我,那就是不明原因的卡,有时候就是突然的游戏卡的动不了直接死机了。一直以来我以为是电脑配置不行,其实打开任务管理器发现卡的原因很大一部分来自Win10自带的服务。有的可以找到对应的service把它禁用或者设为手动开启,有的就需要启用组策略来关闭相应的服务。Win10自带流氓软件扫描功能就跟以前的360,金山卫士差不多,但是绝大部分情况扫描阻止运行的程序都不是我们希望的那样(经常在网上下载软件用的一定懂)。扫描归扫描,关键Win10的扫描还特别占内

2020-08-19 16:32:19 14331 4

原创 三个月写的基于JVM的DwKotlinScript编译器

最近自己花3个月时间写了个语法类似Kotlin的基于JVM字节码的小编译器,当然比起鼎鼎大名Kotlin编译器我的编译器还是迷你很多的。写编译器其实就是自己先定义自己编程语言的语法,然后把基于该语法语言的代码转化成你的目标语言,我的目标语言是JVM字节码,还有很多其他目标语言,比如底层的汇编语言,相对高层的JVM字节码,还有更高层的JS代码,甚至你可以写一个从高层语言到高层语言的编译器,比如把Java代码转化成JS代码的编译器。可能有人会问,我能不能写一个从底层语言到高层语言的编译器,理论上可行,但是没

2020-05-26 05:03:27 1554

原创 高仿微信6.0Tab bar

微信6.0版本的底部Tab Bar,切换图标变色的效果还不错,之前看过鸿洋大神的Android高仿微信6.0主界面,很是佩服。不过我发现,真正微信6.0的切换图标变色的效果应该还不是鸿洋大神的那种方法,我们先看一下我做的效果图。在这个Discover发现图标这里,那个指针部分是从灰色变成透明,而不是从灰色变成绿色。所以从这里我可以判断微信6.0的这种切换图标效果应该不是用Pai

2015-11-12 14:28:12 3242 18

原创 使用Maven后,用命令行运行jar文件出现no main manifest attribute, in *.jar

今天用Intelij IDEA把原来的Java项目迁移为Maven项目,一切都很顺利,项目能自动引入Maven类库,确实方便很多。在运行生成的jar文件时出现no main manifest attribute, in *.jar。我已经在Project Structure里面设置了Main class,但是就是运行不了,在之前的Java项目了就没有这个问题。我注意到在build artifact后,生成了一个MANIFEST.MF文件在src/main/java目录里。在我把Java项目迁移为Ma

2020-06-18 13:55:42 1660

原创 HTML5小游戏-数独

自己用JavaScript写的数独游戏,挂在github page上,可以玩。支持中英文,支持错误数字填入提示,支持在一个格中填入可能的小数字,支持计时功能,可以选择难度。不足:数独题目生成算法无法保证唯一解。代码地址:https://github.com/wangdong20/Html-Sudoku点开即玩:https://wangdong20.github.io/Html-Sudoku/效果图:...

2020-06-11 11:11:49 1640 3

原创 Linux C代码模拟哲学家就餐问题

有五个哲学家坐在一个圆桌上,他们要么在思考要么在吃饭要么在等待筷子来吃饭,当一个哲学家饿了的时候,就拿起盘子左右两边的筷子开始就餐。就餐完以后,就把筷子放回盘子左右,继续思考。哲学家必须拿起两只筷子才能开始就餐。当哲学家A相邻的哲学家B或者E在就餐时,A不能就餐因为A不能拿起两只筷子所以就不能进入就餐状态只能等待相邻的哲学家吃完饭放下筷子,A才能拿起筷子满足拿起两只筷子的条件从而进入就餐状态。哲学家就餐问题可以引申到操作系统资源抢占问题。现在用C代码实现哲学家就餐问题,打印出当前哲学家的状态变化

2020-06-06 15:29:20 1499

原创 我为什么从Google Chrome浏览器换到FireFox浏览器

大概一年前,我一直都在用Google Chrome浏览器,一直都觉得Google Chrome浏览器是最好用的浏览器没有之一。但是大概一年多以前,有段时间我的Mac Pro电脑突然掉电特别严重,用过Mac的都知道,Mac的续航能力就是Mac的卖点之一,用完Mac不像Windows笔记本都不用关机,直接合上就可以,放上个两三天也不会掉多少电的。可是那段时间,每当我上午用完Mac,下午再打开Mac...

2020-04-18 14:31:53 587

原创 Mac下Xcode的OpenGL/GLFW和glad开发环境配置

很久以前一直想学习OpenGL 3D开发,但总是被OpenGL里面晦涩难懂的概念,繁琐的配置,以及自己没有时间机会等原因给搁置了。现在好了,自己选了一门图形3D开发的课程,于公于私都应该好好学习3D图形开发了。话不多说,想要在Mac上学习OpenGL开发,首先就要配置好OpenGL的开发环境,个人觉得在Mac上配置OpenGL开发环境很容易,因为有命令行,只需要两个命令就可以安装OpenGL到...

2020-01-27 07:35:16 1024 1

原创 C语言实现简单功能的命令行解析器(simple shell)

用C语言实现简单的命令行解析器,支持用户输入命令行并运行在其他的进程中。该命令行解析器可以运行在任何Linux或Mac系统。每行命令有osh> 开始,然后由用户输入命令行,例如cat prog.c,该命令将prog.c文件展示于终端上。osh> cat prog.c同时也支持&修饰命令行,使命令进入后台运行。本质上就是使命令行在子进程运行于后台,或者子进程和父进程同...

2019-10-08 07:21:04 7045

原创 Javafx实现代码统计小工具,支持Java, C, C++, Objective-C, Swift语言

大家知道代码里面包含实际代码行数,注释行数等等,有些代码文件行数很多,但是实际代码量却很少。那么我用javafx实现的代码统计小工具就能派上用场。主要功能:可以拖拽一个项目文件夹或者单个代码文件,进入拖拽代码区域,系统将生成代码统计报告,将会显示出代码文件中,代码文件名,代码实际行数,注释行数以及总行数。也可以点击选择按钮,通过FileChooser来选择你要统计的代码文件生成代码统计报告。...

2019-07-14 15:37:24 356

原创 Huffman压缩算法的javafx UI实现

基于Huffman算法的压缩和解压缩实现,至于Huffman算法的原理网上有很多资料可以查阅,这里就不多说了。今天为大家分享我写的Huffman压缩解压缩程序的实现基于javafx的UI界面,支持压缩和解压缩单个文件。运行效果如图,压缩操作:解压缩操作:源代码地址:https://github.com/wangdong20/huffman参考网址:https://g...

2019-05-20 11:19:15 257

原创 二叉树非递归遍历

二叉树有前序遍历,中序遍历,后序遍历。大部分情况,我们都是用递归来写这些遍历,代码简洁明了。如果能用非递归来写这些遍历,那么会对这些遍历理解得更深刻。前序遍历递归写法:private void displayPreOrder(Node root) { if (root != null) { System.out.print(" " + root.data); disp...

2019-02-10 13:46:35 174

原创 任务管理系统算法-Kahn’s algorithm for Topological Sorting(一)

上一遍分析了如何设计任务管理系统的算法,拓扑排序之任务管理系统思路设计。今天我们就利用Kahn’s algorithm for Topological Sorting来实现任务管理系统算法。设计一个数据结构Graph类来储存各个task之间的依赖关系,并根据每个task相互的依赖关系找出任务排列顺序。import java.util.ArrayList;import java.ut...

2018-12-03 08:50:21 854

原创 各种排序算法练习

这是我准备数据结构排序算法考试准备的练习代码,收获不少。import java.util.Collections;import java.util.LinkedList;import java.util.List;public class Driver { public static void main(String[] args) { // TODO Auto-gener...

2018-11-04 01:23:56 146

原创 拓扑排序之任务管理系统思路设计

问题概述:A task (e.g., A B C …) can be completed during a level only if it has no dependencies or all its dependencies have been have been completed.A dependency: (A, B) indicates that task A has to b...

2018-10-27 09:50:03 506

原创 ImageLoader加载显示图片解析

之前讲的都是Universal ImageLoader的缓存部分解析,现在到了最核心的部分就是ImageLoader的加载显示图片部分的代码。首先来看代码结构。

2016-03-25 11:50:54 1882 2

原创 ImageLoader内存缓存解析

接下来我要说的就是鼎鼎大名的Universal Image Loader,上一篇讲了ImageLoader的硬盘缓存,本篇将介绍ImageLoader的内存缓存。先来看看ImageLoader内存缓存部分的代码结构。首先是MemoryCache接口public interface MemoryCache { /** * Puts value int

2016-03-16 18:55:06 1264

转载 Git让gitignore生效

转自http://blog.csdn.net/wangfei584521/article/details/23657633改动过.gitignore文件之后,在repo的根目录下运行:git rm -r --cached .git add .之后可以进行提交:git commit -m "fixed untracked files"

2016-03-16 15:59:25 519

原创 ImageLoader硬盘缓存解析

概述我要说的就是鼎鼎大名的Universal Image Loader,UIL是非常强大的一款图片加载框架,它不仅支持本地图片加载也支持网络图片加载还支持Android自身的drawable文件夹,asset文件夹里面的图片文件加载,也支持视频文件的缩略图加载。可以说是一款非常全面而强大的图片加载框架。说到这里你是不是也对这个框架非常好奇呢?首先我们来看看UIL的代码结

2016-03-11 16:16:30 1989

原创 RoundedImageView源码解析(三)RoundedImageView解析

现在开始RoundedImageView的源码解析了,之前的RoundedDrawable就是为RoundedImageView的实现做铺垫。RoundedDrawable的作用主要是把Drawable转化为圆角的Drawable. 如果不清楚RoundedDrawable的话,可以参考我的前一篇博客http://blog.csdn.net/wangdong20/article/details

2016-03-01 16:25:03 2355

原创 RoundedImageView源码解析(二)RoundedDrawable解析

RoundedImageView类库的核心内容就在于RoundedDrawable,所以今天就来分析RoundedDrawable的源码。不了解RoundedImageView类库的朋友可以看看上一篇博客http://blog.csdn.net/wangdong20/article/details/50705051首先看构造方法:public RoundedDrawab

2016-02-25 17:39:34 1696

原创 RoundedImageView源码解析(一) 简介

选择哪一个RoundedImageView类库我们可以在网上找到很多关于显示圆角的ImageView开源控件,那么我选择的是哪一款呢?答案是https://github.com/vinc3m1/RoundedImageView。运行效果为什么是这一款RoundedImageView类库?这是一款支持圆角,椭圆,圆形的RoundedImageView类库,可以生成Imag

2016-02-20 17:07:35 3859 1

转载 Git常用命令备忘

转自robbin的自言自语Git配置git config --global user.name "robbin" git config --global user.email "[email protected]"git config --global color.ui truegit config --global alias.co checkoutgit config

2016-02-19 12:52:54 563

原创 Android如何通过gradientui类库实现渐变切换icon效果

在Android开发里面经常会遇到渐变切换的效果,比如颜色渐变切换效果,移动动画效果。这些都可以用属性动画来做。但是属性动画也有自己的局限性,属性动画只能在控件的get和set方法可以对控件进行操作的时候才能生效,不是所有的效果都可以实现的。比如我们现在要把一个图片渐变的切换成另外一个图片,图片只是颜色风格发生了变化而已,这时候用属性动画是没办法做到的。效果如图:就像图

2015-12-24 13:58:01 2558 1

原创 Android onTouchEvent的MotionEvent.ACTION_UP不响应

自己写了一个自定义View,里面要监听ouTouchEvent事件,于是我重写了View的onTouchEvent方法。代码如下:@Override public boolean onTouchEvent(MotionEvent event) { int x = (int) event.getX(); int y = (int) event.getY

2015-12-17 12:05:07 11173

原创 AndroidStudio怎么将开源项目发布到jcenter

AndroidStudio是从哪里下载类库的?我们在用AndroidStudio写Android程序的时候经常会看到在build.gradle文件里面添加引用的类库,只需要一行代码。 例如:dependencies { compile 'com.david.gradientuilib:gradientuilibrary:1.0.1'}有的时候我会感到好奇,为什么AndroidStudio

2015-11-29 19:24:11 4879 7

原创 AndroidStudio library module的R文件报错

最近在写一个Android的library module,打算在库项目里面写一个自定义控件。自定义控件里面有自己特有的属性。在attr.xml里面生成自己的自定义属性。代码如下:

2015-11-09 14:56:56 12567 1

原创 TextureView实现视频界面动态显示红色方框

上一篇讲过用TextureView实现视频界面的时候,不能使用SurfaceView的lockCanvas接口直接在视频界面上绘制自己的东西,比如红色方框今天好好地研究了一下,终于找到好方法解决了,首先我没有使用SurfaceView,因为我觉得SurfaceView不好用,而且对SurfaceView进行View的一些例如缩放,设置透明度,动画之类的操作有很多问题但是Textur

2015-11-05 18:05:57 4200

原创 TextureView硬件加速lockCanvas

最近在做Android视频通话部分的需求,有一个需求是在视屏界面上显示红色的方框,经过一段时间的纠结我发现Android4.0以上有一个控件TextureView,做视频界面的话刚好合适,它既可以想SurfaceView那样渲染视频,又可以想View一样对它进行大小,位置,透明度处理,就和普通的View一样。TextureView必须在硬件加速的窗口中。看到这里,我

2015-11-04 11:36:34 6650

原创 AndroidStudio导入Eclipse生成的adt项目报unsatisfiedlinkerror错误

现在Android开发Google官方是推荐用AndroidStudio的,但是还是有很多项目是Eclipse下的项目,在把Eclipse生成的项目挪到AndroidStudio里面来还是花了些功夫的。幸运的是现在Eclipse可以导出gradle文件了,也就是说Eclipse可以一键转换成AndroidStudio项目。不过这中间还是会有一些坑的。我最近在做集成第三方sdk的时候,就

2015-10-24 16:16:10 1519

原创 自定义TextView的TextSize属性getDimension和setTextSize的冲突

在写Android自定义控件的时候,涉及到TextView的TextSize属性。我写的属性如下:获取TextSize和设置TextSize的时候,如下所示:int textSize = (int) a.getDimension(attr, TypedValue .applyDimension(TypedValue.COMPLEX_U

2015-10-21 19:44:06 6811 2

原创 Android BLE开发之BluetoothGatt status 133

最近在做Android BLE开发,第一次接触蓝牙开发可以说遇到好多问题,好在都一一挺过来了!android的蓝牙开发遇到最常见的问题就是发现连接蓝牙设备连接不上,仔细一看竟然是BluetoothGatt status 133,在Android开发这边经常出现这种情况,这是导致蓝牙设备连接不上的主要原因。好多时候因为BluetoothGatt status 133,手机不得

2015-08-10 14:33:01 15273 4

原创 Android Studio设置logcat颜色

在Android Studio里面默认的logcat显示颜色是灰色的,不同等级的log是没有颜色分别的,如图这一点远不如Eclipse好看,但是Android Studio的logcat的颜色其实也是可以设置的进入Settings界面,搜索logcat,进入如下界面可以看到默认的除了ERROR和ASSERT级别的log是红色之外,其余的都是灰色所以我们可以自己DIY

2015-05-26 11:04:27 10511

原创 Android Studio设置代码风格

在Android Studio里面想设置代码风格,在这里我想把代码风格从Java的行尾式改成C风格的代码,如下if(true) { // TODO}if(true){ // TODO}其实很简单可以直接进入settings,然后搜索CodeStyle选择Java进入如下界面在这里选择Wrapping and Braces在Brace

2015-05-26 10:44:16 16135

原创 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2015-05-25 16:28:32 832

原创 在使用shape的同时,用代码修改shape的颜色属性

Android里面经常会使用shape来定制一些View的背景可以修改View的背景颜色,形状等属性一般情况下,shape都是在xml文件里面写死了,今天遇到一个需求,View的形状是圆角的,但是颜色是在代码里面设置的最开始的思路是先在代码里给View设置颜色,再在shape里面设置solid属性为透明色 <corners android:topL

2014-07-19 18:23:26 40947 17

转载 Android中的长度单位详解(dp、sp、px、in、pt、mm)

看到有很多网友不太理解dp、sp和px的区别:现在这里介绍一下dp和sp。dp也就是dip。这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp 或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度

2014-03-15 12:36:52 1135

原创 layout_weight属性的那些坑

以前在写android程序的时候,就在layout_weight属性这部分吃过亏首先看一下Layout_weight属性的作用:它是用来分配属于空间的一个属性,你可以设置他的权重。看下面代码:

2014-03-12 22:05:26 2529

原创 当android调试遇到ADB server didn't ACK以及顽固的sjk_daemon进程

做Android调试的时候经常会遇到,程序写好了,准备接上手机调试,可不一会儿出现相信做过android调试的同学都遇到过这个问题,网上说kill掉跟adb相关的进程,重启Eclipse可是我在任务管理器上没有看到明显的adb进程,我们如何找到它们呢首先,打开cmd,使用adb命令检查一下,最好是把adb命令的路径放在系统的path环境变量里,用adb命令也会方便一

2014-03-09 13:35:53 20442 9

SimpleShell.c

C语言实现的简单命令行解析器(Simple shell) 支持用户输入命令行并在后台运行即&后台命令运行模式 支持history命令功能,用户可以查看最近使用的10条命令行,并且调用他们。

2019-11-26

CodeStatistics.jar

基于Javafx写的代码统计小工具,支持Java, C, C++, OC, Swift. 源代码:https://github.com/wangdong20/CodeStatistics

2019-07-14

huffman.jar

在学校做的基于哈夫曼算法的压缩解压缩程序,基于javafx的UI程序。可以实现对单个小文件的压缩和解压缩。分享出来与大家学习交流。

2019-05-20

归并排序最坏情况可运行jar

归并排序并不像快速排序那样最坏情况时间复杂度变成On2,归并排序最坏情况仍然是Onlgn,大家可以看看

2013-04-27

归并排序动画可运行jar

JavaSwing写的归并排序动画,我一年前写的排序动画,里面的归并排序现在终于完成了,拿出来与大家分享分享

2013-04-27

Android 4 游戏编程入门经典源代码

最近买了Robert Green & Mario Zechner 写的Android 4 游戏编程入门经典,好不容易下载了书上案例的源代码,在这里分享下,为大家省下下载的功夫了

2013-01-19

精通Android游戏开发源代码

精通Android游戏开发这本书上的源代码,与大家分享学习

2012-09-30

JavaSwing做的排序动画源代码

JavaSwing做的排序动画,包括冒泡排序,插入排序,选择排序,快速排序(归并排序未完成),今天晒出来与大家分享,共同学习

2012-08-05

改进后的java快速排序动画jar

在原来的基础上,修改了之前快排动画的闪动BUG

2012-04-28

java快速排序动画jar

之前做的四种排序动画,快排比较快,所以为快排专门做一个动画

2012-03-10

Java排序动画可运行jar

我用Java做的排序动画jar,包括冒泡,插入,选择,快排

2012-03-10

java贪食蛇源代码(300多行)

自己用java写的贪食蛇游戏,算是我的第一个java游戏,拿出来共享一下

2012-01-30

原创拼图游戏纯C代码(可由电脑还原)

将图形还原成 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 就算拼图完成 还可以输入密码god由电脑还原图形 VC6.0编译通过,写的不好的地方也请大家指出来

2011-10-16

原创拼图游戏纯C代码(可用电脑还原)

将图形还原成 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 就算拼图完成 还可以输入密码god还原图形

2011-10-16

C语言入门经典第四版源代码

C语言入门经典!经典的C语言入门书,很适合没有接触过编程但有想学C的人自学。我这有C语言入门经典(第四版)的源代码,拿出来与大家分享

2011-10-13

C语言入门经典第三版源代码

大家想必知道C语言入门经典这部书吧!非常适合没有基础的人自学C,我自己就深有体会。我这正好有课后习题以及书上的全部代码,方便大家学习。

2011-10-13

JavaSwing归并排序动画源码(含其他排序)

一年前做的排序动画,归并排序动画一直未完成,今天完成了,与大家共享

2010-01-21

空空如也

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

TA关注的人

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