摘要: 设计模式(Design pattern):是代码设计经验的总结,是前人智慧的结晶,使用设计模式是为了代码的可重复性、让代码更容易被他人理解、保证代码可靠性,增加代码可维护性。 设计模式使代码编制真正工程化,设计模式是软件工程的基石脉络,如同大厦的结构。 如java的API和各种框架中都使用了设计模式,如果能熟悉设计模式,那么将更容易理解这些api和框架的结构,对以后的学习和工作会有很大的帮助。 面向对象的原则也都会在设计模式中体现!目前设计模式总共有23种,分为三种类型:创建型、结构型和行为型:创建型模式:工厂模式:http://www.cnblogs.com/homg/p/3548110.h 阅读全文
posted @ 2014-02-13 17:28 竹尘居士 阅读(485) 评论(1) 推荐(0) 编辑
摘要: SlidingCheckLayout是一个滑动选中RecyclerView中Item的布局,手指滑过Item时多项选中。 作者:竹尘居士 github:https://github.com/homgwu/SlidingCheckLayout 示例 特性 SlidingCheckLayout继承自Fr 阅读全文
posted @ 2018-02-02 14:30 竹尘居士 阅读(1614) 评论(0) 推荐(0) 编辑
摘要: SlideView是一个Android上的以滑动揭示的方式显示并切换图片的View,以视觉对比的方式把一套相似的图片展示出来。 阅读全文
posted @ 2017-08-05 22:35 竹尘居士 阅读(2400) 评论(0) 推荐(0) 编辑
摘要: eprogress 是一个简单、易用的基于Python3的命令行(terminal)进度条库,可以自由选择使用单行显示、多行显示进度条或转圈加载方式,也可以混合使用。 阅读全文
posted @ 2017-07-25 10:15 竹尘居士 阅读(2634) 评论(0) 推荐(2) 编辑
摘要: 在Android中adapter错误:The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not mo... 阅读全文
posted @ 2015-08-28 13:28 竹尘居士 阅读(15940) 评论(0) 推荐(0) 编辑
摘要: Android水平(横向)翻页列表,类似于水平方向的GridView,行列自定义,但要翻页切换,考虑加载性能,当Item数据很多时加载和翻页要流畅,翻页时要有动画效果,效果图如下:实现方式:1:翻页可用ViewPager来做,每页内多行排列Item,考虑到翻页切换数据和加载的速度不能嵌套Grid... 阅读全文
posted @ 2015-04-11 15:21 竹尘居士 阅读(8219) 评论(0) 推荐(1) 编辑
摘要: 以下为工厂模式的详解,包括简单工厂,普通工厂模式,抽象工厂。引子: 假设有一个交通工具公司,生产自行车,汽车,飞机等,现要销售该公司的产品,要怎么设计呢? 在交通工具商店中加一个if else判断如果是自行车就实例化(new)一个自行车,如果是汽车就实例化(new)一个汽车吗,当然不是,这样的话如果将来又加了多种交通工具那要更改每一个商店的代码,这样的话更改太多,我们应该把这部分可能变更的代码封装到另一个对象中,这个对象只管生产何种交通工具,要获得交通工具就用它。简单工厂:类图:设计:/** * 抽像的交通工具类,里面有生产交通工具的过程方法(控制生产过程) * @author Homg * 阅读全文
posted @ 2014-02-13 15:50 竹尘居士 阅读(1661) 评论(4) 推荐(0) 编辑
摘要: 4k对齐概念:4K对齐相关联的是一个叫做“高级格式化”的分区技术。首先先来了解一下什么是叫做“4K 对齐”。其实“4K对齐”相关联的是一个叫做“高级格式化”的分区技术。“高级格式化”是国际硬盘设备与材料协会为新型数据结构格式所采用的名称。这是主要鉴于随着时代发展,硬盘容量不断扩展,使得之前定义的每个扇区512字节不再是那么的合理,于是将每个扇区512字节改为每个扇区4096 个字节,也就是现在常说的“4K扇区”。随着NTFS成为了标准的硬盘文件系统,其文件系统的默认分配单元大小(簇)也是4096字节,为了使簇与扇区相对应,即使物理硬盘分区与计算机使用的逻辑分区对齐,保证硬盘读写效率,所以就有了 阅读全文
posted @ 2014-02-08 18:07 竹尘居士 阅读(8324) 评论(1) 推荐(0) 编辑
摘要: 我之前一直是打开eclipse之前直接运行Genymotion模拟器就可以连接到adb了,非常方便,但最近突然想来装个eclipse的Genymotion插件玩玩,安装时居然出错了,于是不折腾好心里不爽,在网上找了下资料找到了解决办法,现记录如下:安装方法:1:启动Eclipse2:打开“Help/Install new software”菜单在新开启的窗口中点击“add”按钮(位于窗口右上方)在输入区中填写以下内容,然后进行验证:Name: GenymobileLocation:http://plugins.genymotion.com/eclipse应该可以看到Genymobile检查这. 阅读全文
posted @ 2014-01-19 20:37 竹尘居士 阅读(3682) 评论(0) 推荐(1) 编辑
摘要: 以下为装饰者模式详解:引子: 假如有一个快餐店,基本种类分为米饭,水饺,粉面等,但每一种类型的快餐又可以搭配不同的料,如米饭可以点各种不同的菜(排骨,青菜,土豆等),如果按照一般的设计,快餐为基类,加不同的料的搭配为一个类,分别继承到基类,那么N种搭配就有N个类,这是类的爆炸。 要解决这个问题我们就可以用装饰者模式了,首先来了解一个OO设计原则:类对扩展的开放,对修改的关闭。这并不矛盾,像上面的类爆炸子类的行为(继承)是在编译时就静态决定了的,且所有子类都会继承到相同的行为,要解决问题就要做到动态的扩展,在类进行扩展时不修改现有的代码而添加新的行为,这样就要动态的组合对象,弹性的应对改变,可以 阅读全文
posted @ 2014-01-18 22:04 竹尘居士 阅读(1098) 评论(0) 推荐(0) 编辑
摘要: 在自己写的一个小应用中发现一个问题,当调出输入法后界面最下方的一个按钮被挤到了输入法的上面,这样很不美观,所以找了一下解决办法记录如下:在AndroidManifest.xml文件中找到对应的activity添加该属性:android:windowSoftInputMode。该属性做两件事:1:当用户使该activity获得焦点时决定软键盘是隐藏还是显示。2:当软键盘出来时activity是否重新调整大小以适应软键盘和输入的内容。添加方法:android:windowSoftInputMode="adjustPan"也可以同时设置两个值(需是一个state...值加一个ad 阅读全文
posted @ 2014-01-13 13:37 竹尘居士 阅读(2063) 评论(0) 推荐(0) 编辑
摘要: 以下为观察者模式详解:引子:假设有这样一个问题,有一条河经过一个山谷,山谷下有一个村庄,人们在山谷处修建了一个水库,并安排专人管理,当水库的水位过高时要通知下游居民注意水库的开闸放水,当水库的水温过低时要通知到水库游泳时要注意安全,那么现在我们要用OO思想用代码来设计这样一件事情,该怎么做?首先我们想像一下我们订阅报纸或杂志的过程,先向报社订阅报纸,订阅后只要这家报社还在运营就会按时把报纸送到你家,当你不想再看这家的报纸时只需要取消订阅,以后就不会再送报纸给你了。在这样一件事情中读者扮演的是一个观察者的角色,不同的读者同时接收一份报纸查看新闻,他们对新闻的关心点不一。而报社提供新闻的更新,这就 阅读全文
posted @ 2014-01-02 16:15 竹尘居士 阅读(1370) 评论(4) 推荐(0) 编辑
摘要: 昨天跟朋友一起玩游戏,网速感觉不怎么好就下了一个免费的网易UU加速器来给对战平台加速,结果加速了以后网速更差,我晕,于是想卸载,可这个加速器口只有一个exe文件,不用安装,但在第一次加速时记得安装了一个网卡,所以上网找了一下卸载的方法,总结如下:1:在我的电脑上右键---属性---设备管理器---查看---显示隐藏设备(必需显示,否则看不到虚拟网卡)---网络适配器---找到“Netease uu”关键字,右键卸载。2:在c盘分别搜索“Netease”,“netease” (推荐使用everything软件搜索,速度很快)关键字(注意大小写),发现后面还带的uu的都删除。3:删除用来运行的uu 阅读全文
posted @ 2014-01-01 15:09 竹尘居士 阅读(27936) 评论(1) 推荐(2) 编辑
摘要: 以下为策略模式详解:引子:使用策略就是要实现可扩展性,那么多态是不可少的。何谓可扩展性呢? 比如:我们用面向对象的思想来设计飞机,基类为飞机,飞机可以有很多种,客机,直升机,战斗机等,不同种类的飞机起飞方式和武器都不一样,那么在设计时怎样才能做到支持所有的飞机,每次加入新的种类的飞机时不要去改动之前的代码直接加入呢? 这就是我们使用策略模式要考虑的问题,如果只用继承,显然不行,这样太死板,像客机它是没有武器的,当在基类中加入了使用武器方法后,客机也具有了武器,这不科学,而且直升机和战斗机的武器不同还要强迫每一个子类都复写使用武器方法。只用接口呢?也是不行的,比如写一个武器接口,只面有一个使用武 阅读全文
posted @ 2013-12-31 14:29 竹尘居士 阅读(1035) 评论(2) 推荐(0) 编辑
摘要: 之前写了一个一键锁屏软件,有个朋友用了后发现了问题,所以昨天研究了一个activity在锁屏后的生命周期变化。如下:锁屏分为两个步骤,先是锁定屏幕,再是黑屏onCreate(在该方法里锁屏)--->onStart--->onResume黑屏后:onPause点亮屏幕后:onResume以上是在屏幕方向没有改变时的生命周期变化。关于finish():finish()后不管是在哪个地方,会直接到onDestroy。 阅读全文
posted @ 2013-10-29 09:24 竹尘居士 阅读(3868) 评论(0) 推荐(0) 编辑