SingleShu
前 10000 位用户
1. BounceView
滑动冲突,这个是作安卓的必经之坑。最开始的 ListView 和 ScollView 冲突,或者 ListView 嵌套 ListView 滑动冲突,再或者 ListView 和 ViewPager 的滑动冲突,再或者是 GraidView 等可滑动控件互相嵌套的冲突。解决方案呢,有很多。比如在 onTouchEvent 中拦截事件。又或者自定义 ListView,修改 onMesure 测量,使它在测量时获得最大的宽高,这样可以让它不滑动。全部展示,当然作为在 Android 摸爬滚打了这么久的程序猿,这些坑都应该踩过了,而且网上一大堆解决方案,不得不说,这就是开源的好处啊。
我们平时在 Activity 的 setContentView 就是在 phoneWindow 的 ContentViews 作文章。那么我们的冲突就是在这里,在 ContentView 里设置了一个 activity_main.xml,为什么会有滑动冲突呢,那是因为 recyclerview 和 scollview 都设置在了 activity_main.xml。那么换个角度,如果把 recyclerview 加在 contentviews 和 activity_main.xml 布局平级。那么是不是就不存在滑动冲突了呢。
我们平时在 Activity 的 setContentView 就是在 phoneWindow 的 ContentViews 作文章。那么我们的冲突就是在这里,在 ContentView 里设置了一个 activity_main.xml,为什么会有滑动冲突呢,那是因为 recyclerview 和 scollview 都设置在了 activity_main.xml。那么换个角度,如果把 recyclerview 加在 contentviews 和 activity_main.xml 布局平级。那么是不是就不存在滑动冲突了呢。
仿微信九宫格图片展示,简单易用!
手写高并发网络加载框架,参考 volley,retrofit 等。增加了下载文件进度回调模块,使用阻塞式队列,一个不错的学习框架。
手写高并发图片框架,参考 Glide,ImageLoader-universal,volley,facebook 框架等。采用优先级阻塞时队列,多线程并发获取图片。采用 Glide 的调用模式,简单易用。使用 DiskLruCache 和 LruCache 进行二级缓存。提高用户体验
5. LemonDaoDemo
Android 数据库框架
1、支持 sql 语句自拼接。数据库直接执行 sql 语句。
2、支持传入类对象进行增删改查,比如 User,在 insert 的时候,插入 User 的实例,属性都封装在 user 中。通过反射获取它的属性值,存入数据库。
3、高扩展,每个新建的存储类型。直接继承 DefaultBaseDao 即可。可以在这里做一些该类独有的操作。
4、支持多数据库切换,多数据库操作。同时支持数据库分库管理,多数据库多版本多用户同时升级,采取 XML 脚本升级。这里的脚本语句没有封装。
5、支持 boolean、byte、short、int、long、float、double 数据类型的存储和读取。
1、支持 sql 语句自拼接。数据库直接执行 sql 语句。
2、支持传入类对象进行增删改查,比如 User,在 insert 的时候,插入 User 的实例,属性都封装在 user 中。通过反射获取它的属性值,存入数据库。
3、高扩展,每个新建的存储类型。直接继承 DefaultBaseDao 即可。可以在这里做一些该类独有的操作。
4、支持多数据库切换,多数据库操作。同时支持数据库分库管理,多数据库多版本多用户同时升级,采取 XML 脚本升级。这里的脚本语句没有封装。
5、支持 boolean、byte、short、int、long、float、double 数据类型的存储和读取。
6. AspectJDemo
AOP 是 Aspect-Oriented Progreming 的缩写,在 OOP 设计中有个单一职责原则,在很多时候都不会有问题,但是当很多模块都需要同一个功能的时候,这个时候还用 OOP 就会很麻烦。那么 AOP 在 Android 中的应用就应运而生。
7. UnZip
解压 zip,统一 UI 图标方案
基于 Zxing 二次封装的 ZxingPlus 库
9. Test
二维码几乎成为现在安卓手机不可或缺的功能之一,不论是推广还是相互关注功能的需求,都需要二维码生成和扫描解析等等。Zxing 是安卓手机二维码生成中非常好用的了。但是导入 Zxing 还需要自定义很多功能,那么我们可不可以把这些常用的功能封装好,做一个三方库,方便自己更方便大家呢。
具体使用在 git 的 Test 项目下,导入直接使用 compile 'com.singleshu:ZxingPlus:1.1.0'
具体使用在 git 的 Test 项目下,导入直接使用 compile 'com.singleshu:ZxingPlus:1.1.0'
