泛型的一次总结

java在1.5版本中增加了泛型,在没有泛型之前,从集合中读取每一个对象都需要进行强转,如果一不小心插入了类型错误的对象,在运行时就会报错,给日常开发带来了很多不必要的麻烦,比如以下代码:public class TestGeneric { public static void main(String[] args) { List list = new ArrayList()...
阅读(1522) 评论(2)

刮刮卡功能的具体实现

今天整理之前的代码,忽然看到之前自己写的一个刮刮卡,整理下以便以后使用,同时分享给需要的朋友,如有错误,还请多多指正。实现的步骤,其实就是徒手画三个图层叠加在一起,最上层是绘制需要的问题,就是以上所述的“骚年,刮我吧”,第二层就是覆盖宽高的灰层,第三层是结果层,多的不啰嗦了,具体实现如下,附上详细注释。/** * * created by zero on 2016-9-9 * * 刮刮卡...
阅读(1619) 评论(0)

原来你是这样的NullPointerException

日常开发过程中,最常见的异常莫过于NullPointerException,之前的时候,只是知道去找到报错的位置,然后去解决它,最近有空学习C语言,就去深究了下NullPointerException异常的本质。发生NullPointerException的情况:调用 null 对象的实例方法。 访问或修改 null 对象的字段。 如果一个数组为null,试图用属性length获得其长度时。 如果一...
阅读(1493) 评论(0)

建造者模式在实际开发中的运用

通过上篇《十分钟学习建造者模式》相信大家对建造者有了一个基本的认识了,但有些人会有疑问,对于建造者模式,怎么灵活运用到项目中,有时候我也会有这样的体会,对于一个知识点或者技术,看了一遍后就觉得会了,但却不知道怎么灵活运用,才疏学浅,只是分享下自己一些微薄的见解,如有错误,还请多多留言指教。 不多说了,直奔主题,先说一个需求,在我目前手里的两个项目里面,都有大量的popupwindow,这些pop...
阅读(2779) 评论(4)

十分钟学习建造者模式

本篇从生活中实例开始,循序渐渐,一步步引入观察者模式。2010刚上大学的时候,辅导员都会让学委统计下学生的信息,第一次的时候,只是让学委统计基本信息,姓名、学号、手机号,当拿到这个要求的时候,一般情况下我们会采用构造函数去实现,把姓名、学号、手机号作为参数传过去,然后打印出来就好,代码如下:public class BuilderTest { /** * created by zer...
阅读(2383) 评论(3)

勿忘初心,继续coding

对于每个人来说都会有一篇属于自己的净土,一个神圣不可侵犯的地方,而我的那片信仰,就是那时候的母校,是的,是那时候的。 上个月去了一趟母校,转身一想,毕业已经三年了,三年没回来了。如果从2012年底离校开始算起,,这三年多的经历,除了少有的甜,这其中太多的酸苦辣,一直想回去,却一直没有勇气回去。 工作三年多了,这次好像好久没总结了,最近总是迷茫,一直在考虑一个问题,三年多的Android开发,我...
阅读(3454) 评论(5)

微信支付返回-1的问题集锦与各种爬坑过程

之前公司做微信支付的时候,负责这一模块的同事,天天抱怨微信支付的各种坑还有文档的不清晰,最近帮朋友做了一个app,里面就有这一功能,看了一上午文档,瞬间发现我的语文也没学好,各种看不懂就算了,提供的代码居然还有错误,我可以骂人吗???!!!还有更恶心的就是第一次调试的时候可以唤醒微信,以后就一直返回-1,相信会有很多朋友和我遇到同样的问题。先从申请微信支付说起,需要提供的包名和签名,包名这块肯定没问...
阅读(3642) 评论(9)

简述图片加载框架

南海争端在即,台海问题未解决,国家尚未统一,哪有心思写代码,即使吃着地沟油命,也不能隐藏一颗中南海的心,我们中国连红绿灯都不让,居然叫我们让中国的南海,真搞笑。。。 今天无心写代码,在公司就是看看新闻和整理点知识点了,无意间翻到我之前画给朋友的一张图,关于三级缓存和一些名词的解释,不多说,不怂,就是干,如下: 此处采用的是“内存–文件–网络”三级缓存,之前看过xutils 和imagelo...
阅读(1716) 评论(0)

十分钟解析LocalBroadcastManager

关于LocalBroadcastManager,首先要从BroadcastReceiver 说起,一次无意间打开BroadcastReceiver 源码,最上面的说明里面会有这么一段话:If you don’t need to send broadcasts across applications, consider using this class with LocalBroadcastManag...
阅读(6665) 评论(1)

单例模式之坑与爬坑

上篇简述了其中单例还有部分个人看法,本篇主要从三个问题进行开展 怎么避免线程阻塞 怎么避免内存泄漏 怎么避免被反射 首先先看一段事例代码public class OkHttpUtils { private static OkHttpClient singleton; private static final int TIME_OUT = 0X00000A; private Ok...
阅读(2009) 评论(1)

十分钟认识单例模式的多种姿势

对于单例模式,有点工作经验的人都使用过,原本未打算去写这块的,感觉多此一举,虽然写博客最主要的目的是给自己做笔记,但由于种种原因,决定把这个最基础的设计模式拿出来写成两篇博客,第一篇叙述七种单例,第二篇叙述单例中的坑,主要是双重锁的滥用和扩展思考。 使用单例的优点: 单例类只有一个实例 共享资源,全局使用 节省创建时间,提高性能 其中表现方式 饿汉式 public class Singleton...
阅读(1590) 评论(2)

迪米特法则在Android实际开发中的运用

迪米特法则(Law of Demeter,LoD)也称为最少知识原则(Least Knowledge Principle,LKP)。如果两个类不必彼此间直接通信,那么这两个类不应该发生直接的相互关系。如果其中一个类需要调用另一个类的方法,可以通过第三者转发这个调用。 迪米特法则还有一个英文解释:Only talk to your immedate friends(只与直接的朋友通信)。对于这个翻译...
阅读(2369) 评论(1)

通过在Android实际开发初探模板模式(一)

最近比较忙,就很少更新自己的笔记(blog),昨天一个功能的开发中,总觉得那个页面会是一个很好的案例,就想把它记录到笔记中,今天忙中偷闲,把它单独拿出来做个笔记分享下。首先,我们先看下效果图: 看到这个的时候,当时瞬间有点兴奋,解决方案爆棚 在一个activity中用五个listview或者recyclerview控制显示和隐藏 在一个activity中用一个listview或者recycle...
阅读(3356) 评论(12)

通过adb录制视频并通过FFMPEG将MP4转换成GIF格式(二)

通过上篇文章,我们得到了MP4文件,接下来,我们将把这个文件转化成gif图片,这篇不啰嗦,直接干货,本篇主要围绕ffmpeg来讲述,ffmpeg对于很多人来说就是只闻其声不见其人,是的,在本篇博客之前,我也没怎么接触过,FFmpeg是开源的。但我们不必去下载它的源代码。下载已经编译好的exe/dll即可。可以到http://www.ffmpeg.org/download.html,然后点击“Win...
阅读(3504) 评论(1)

通过adb录制视频并通过FFMPEG将MP4转换成GIF格式(一)

前段时间写一篇贴子,当时需要gif去演示一个效果,看了好多解决方案,有的是用QQ影音转换的,便下载了一个QQ影音,发现QQ影音只能通过截图方式去操作,无法直接将MP4格式的直接转换成gif,后来想起了一款神器–快播,我记得快播有转码的功能,但是快播也是通过播放时候截取一段来转码,也没法直接转成gif,得到的gif不清晰,非常小,在这不禁要来一声叹息,用一行代码表达自己的不满, i...
阅读(2573) 评论(0)

十分钟探讨map与hashmap的排序

今天遇到一个关于map排序的问题,做个笔记(^__^) 嘻嘻…… 既然遇到了,就不如挖它祖坟看一看里面的究竟,说不定找到价值连城的古董或者什么的,也说不准,下面,一起去看个究竟吧^_^ 老规矩,先上代码,有代码有真相,如下所示: /** * * Created by zero on 2016-6-11 * */ public class HashMapSort { pu...
阅读(1464) 评论(0)

android之handler的刨根问底

最近在找工作,此篇博客总结给自己,也希望能帮助到在找工作的小伙伴。 对于handler,不管处于哪个层次,这个都是必问的面试题,这也是过来人的一个总结。我换工作还是比较频繁的,曾辗转无锡、苏州、南京、上海,虽然我只工作不到四年,呵呵,信息量好像有点大,但其中问到最多的就是handler,首屈一指。现在,我们一点点去刨开它。 首先从表面的开始解剖,在离开第一家的时候,那时候经验非常不足,不到一年的...
阅读(1816) 评论(2)

通过Android源码分析再探观察者模式(二)

接着上篇文章,现在在通过Android实际开发和源码再探观察者模式,listview是我们日常开发中必用的控件,虽然之前就有listview的替代品(recyclerview),现在不去深究两个控件到底谁好谁差,但有一点需要强调下,它们之间有一大相同点,都是通过观察者模式去实现数据更新。首先,我们先去看一个简单的例子/** * * created by zero on2016-6-1 *...
阅读(11232) 评论(1)

通过Java源码分析初探观察者模式(一)

源码中,起关键性作用的就是vector和changed,在observable实例化的时候,就初始化了一个空的vector,可以通过vector添加和移除vector操作后,当observable发生改变时,通过changed去判断是否通知,在我们的上述示例代码中使用setChanged(),主要是因为第一次加入的时候,不会去调用observer的update方法,也就是changed为false,当changed为...
阅读(5930) 评论(3)

通过MVC与MVP的对比,简述单一职责原则

本文将通过MVC与MVP模式分析,循序渐进的讲述单一职责原则。MVC MVP 通过上述两张图可以很明显的看出MVP在MVC的基础上进行解耦,再次不做多余的分析,先简单看一个例子,点击按钮后,从0到1000进行相加,得到结果后先赋值给model,再把model的值在textview上显示。public class MainModel { public int value; }/**...
阅读(1195) 评论(1)
44条 共3页首页 上一页 1 2 3 下一页 尾页
    个人资料
    • 访问:217146次
    • 积分:2662
    • 等级:
    • 排名:第14622名
    • 原创:44篇
    • 转载:0篇
    • 译文:0篇
    • 评论:304条
    QQ交流群

    Android路上

    611566797
    博客专栏
    我的公众号