一、线程创建的两种方式 1.1继承Thread 1.2实现Runnable接口 1.3比较 Runnable方式可以避免Thread方式由于Java单继承特性带来的缺陷 Ru...
一、线程创建的两种方式 1.1继承Thread 1.2实现Runnable接口 1.3比较 Runnable方式可以避免Thread方式由于Java单继承特性带来的缺陷 Ru...
问题描述 用了file.mkdir()为何还是不能创建文件? 比较 boolean mkdir() : 创建此抽象路径名指定的目录。boolean mkdirs() : ...
一、了解SnapHelper 其实SnapHelper是对RecyclerView的一种拓展。 SnapHelper的实现原理是监听RecyclerView.OnFlingL...
Hexo 有三种默认布局:post , page 和 draft它们分别对应不同的路径,而您自定义的其他布局和post相同,都将储存到 source/_posts文件夹。也同...
1.项目结构 现在的MVP模式越来越流行。就默认采用了。如果项目比较小的话: app——Application Activity Fragment Presenter等的顶级...
异步消息处理线程启动后会进入一个无限的循环体之中,每循环一次,从其内部的消息队列中取出一个消息,然后回调相应的消息处理函数,执行完成一个消息后则继续循环。若消息队列为空,线程...
一直都很喜欢Instagram的快拍(Story)功能,也很喜欢他们的翻转效果,是一种简单的3D翻转效果。大致效果如下: 貌似最近微博也出了一个差不多的Story的功能,用的...
到头来,只做到了最后一点
以前一直想写一篇总结 Android 开发经验的文章,估计当时的我还达不到某种水平,所以思路跟不上,下笔又捉襟见肘。近日,思路较为明朗,于是重新操起键盘开始码字一番。先声明一...
Download Gradle: APIs Activity 相关 -> ActivityUtils.java -> Demo AdaptScreen 相关 -> Adapt...
整理了一下Github上几个开源的音视频播放器项目,有兴趣的同学可以clone代码去研究学习。 UniversalMusicPlayer https://github.com...
相信大部分开发android的人使用Handler在子线程上去进行ui的操作这种模式已经滚瓜烂熟了,但是当你不去深入研究它的原理,和理清它与Looper和Message之间的...