![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
工具
竹林紫光
关注领域: JavaEE,Android,Javascript,HTML5,MySQL,VR ,Linux
展开
-
SharedPreferences新老版本兼容
前言: 当你的应用调用了新的API,是没办法在安装老版本Android的设备上运行的,但如果使用老的API,又没办法在安装新版本Android的设备上体现新API的性能。 这时候,就可以使用Java反射机制,从而实现一个apk,如果安装在老版本Android的设备上,则调用老的API;安装在新版本Android的设备上,则调用新的API。 所以直接看代码: /** * Shar转载 2017-02-22 11:15:24 · 1859 阅读 · 0 评论 -
Timer的缺陷 改用ScheduledExecutorService
就是那就话,好文章...要分享! 本文转自:鸿洋_ 1、Timer管理延时任务的缺陷 a、以前在项目中也经常使用定时器,比如每隔一段时间清理项目中的一些垃圾文件,每个一段时间进行数据清洗;然而Timer是存在一些缺陷的,因为Timer在执行定时任务时只会创建一个线程,所以如果存在多个任务,且某个任务期间因某些原因的导致时间过长(如Sleep),超过了两个任务的间隔时间,则会发生重转载 2017-02-22 15:14:20 · 632 阅读 · 0 评论 -
下拉列表—DropDownMenu的使用解析
DropDownMenu使用解析 下拉筛选列表网上有很多,但是想到自己动手丰衣足食,就自己试试啦! 在布局时因为考虑到流畅问题,所以没用PopupWindow,而是采用基本布局方式完成的。 经过筛选我用的是这个 https://github.com/dongjunkun/DropDownMenu.git,想要的可以自己下demo哈! 只要核心代码如下: Gradle原创 2017-02-07 10:29:53 · 18869 阅读 · 0 评论 -
Spinner使用解析
Spinner使用解析之自我理解(供参考) 对于Spinner网上虽然有很多,但是还是想自己写一篇属于自己的博文,下边是我对Spinner的使用理解; Spinner提供了从一个数据集合中快速选择一项值的办法。默认情况下Spinner显示的是当前选择的值,点击Spinner会弹出一个包含所有可选值的dropdown菜单,从该菜单中可以为Spinner选择一个新值,显示样式如下:原创 2017-01-20 18:03:03 · 1048 阅读 · 0 评论 -
Serializable和Parcelable序列化
android中对象的两种序列化原创 2016-12-27 10:38:37 · 524 阅读 · 0 评论