Android公共库——图片缓存 网络缓存 下拉及底部更多ListView 公共类

转载自http://www.trinea.cn/android/android-common-lib/

介绍总结的一些android公共库,包含缓存(图片缓存、预取缓存、网络缓存)、公共View(下拉及底部加载更多ListView、底部加载更多ScrollView、滑动一页Gallery)、及Android常用工具类(网络、下载、shell、文件、json等等)。

TrineaAndroidCommon已开源,地址为TrineaAndroidCommon@Github,欢迎Star或Fork^_*

示例APK可从这些地址下载:Google Play, 360手机助手, 百度手机助手, 小米应用商店, 豌豆荚

TrineaAndroidCommon在Github上地址为https://github.com/Trinea/AndroidCommon,欢迎Star或Fork^_*,示例APK地址见Demo.apk。

PS:这是准备分享的三个系列之一,暂时告一段落,后续准备开始Android性能优化系列以及Java多线程系列。Android公共库系列后续计划是添加二级缓存以及一个能给应用以亮点的公共View。

一. 缓存类

1. 图片内存缓存
使用见:图片内存缓存的使用
适用:应用中获取图片较多且图片不大的应用,如新浪微博、twitter、微信头像、美丽说、蘑菇街、花瓣、淘宝等等。
主要特性:(1).使用简单 (2). 轻松获取及预取新图片 (3).可选择多种缓存算法(FIFO、LIFO、LRU、MRU、LFU、MFU等13种)或自定义缓存算法 (4).省流量性能佳(有且仅有一个线程获取图片) (5).支持不同类型网络处理 (6).可根据系统配置初始化缓存 (7).扩展性强 (8).支持队列 (9). 包含map的大多数接口。
效果图

Android公共库——图片缓存 网络缓存 下拉及底部更多ListView 公共类_第1张图片
2. 图片SD卡缓存
使用见:图片SD卡缓存的使用
适用:应用中获取图片较多且图片较大的情况,在微博、花瓣、美丽说、path这类应用中可以起到很好的效果。
主要特性:(1).使用简单 (2). 轻松获取及预取新图片(3).可选择多种缓存算法(FIFO、LIFO、LRU、MRU、LFU、MFU等13种)或自定义缓存算法(4). 支持文件sd卡保存及自定义文件名规则(5).省流量性能佳(有且仅有一个线程获取图片) (6).支持不同类型网络处理(7).可根据系统配置初始化缓存 (8). 支持序列化(9).扩展性强 (10).支持队列 (11). 包含map的大多数接口。
效果图

Android公共库——图片缓存 网络缓存 下拉及底部更多ListView 公共类_第2张图片

3. 网络缓存

使用见:Android网络缓存

适用:网络获取内容不大的应用,尤其是api接口数据,如新浪微博、twitter的timeline、微信公众账号发送的内容等等。

主要特性:(1).可同步或异步获取数据 (2). 可自动根据服务器的返回头判断是否需要缓存 (3). 可自动根据请求头信息判断是否读取缓存

效果图

Android公共库——图片缓存 网络缓存 下拉及底部更多ListView 公共类_第3张图片

4. 预取数据缓存
使用见:预取数据缓存PreloadDataCache
主要特性:(1).使用简单 (2).可自动预取新数据 (3).可选择多种缓存算法(包括FIFO、LIFO、LRU、MRU、LFU、MFU等15种)或自定义缓存算法 (4).省流量性能佳(有且仅有一个线程获取数据) (5).支持不同类型网络处理 (6)缓存可序列化到本地 缓存可从文件中恢复 (7).扩展性强 (8). 包含map的大多数接口

缓存类关系图如下:其中HttpCache为后续计划的http缓存

Android公共库——图片缓存 网络缓存 下拉及底部更多ListView 公共类_第4张图片

二. 公用的view
1. 下拉刷新及滚动到底部加载更多的Listview
使用见:下拉刷新及滚动到底部加载更多listview的使用
主要特性:(1). 可自定义下拉响应事件(如下拉刷新) (2).可自定义滚动到底部响应的事件(如滑动到底部加载更多) (3).可自定义丰富的样式 (4).高效(若下拉样式关闭不会加载其布局,同listView效率一致) (5). 丰富的设置

效果图

Android公共库——图片缓存 网络缓存 下拉及底部更多ListView 公共类_第5张图片

2. 滑动一页(一个Item)的Gallery
使用及实现原理见:滑动一页(一个Item)的Gallery的使用
效果图

Android公共库——图片缓存 网络缓存 下拉及底部更多ListView 公共类_第6张图片 Android公共库——图片缓存 网络缓存 下拉及底部更多ListView 公共类_第7张图片

3. 滑动到底部或顶部响应的ScrollView
使用及实现原理见:滚动到底部或顶部响应的ScrollView使用
效果图

Android公共库——图片缓存 网络缓存 下拉及底部更多ListView 公共类_第8张图片

三. 工具类
1. Android系统下载管理DownloadManager使用
使用示例见:Android系统下载管理DownloadManager功能介绍及使用示例
功能扩展:Android下载管理DownloadManager功能扩展和bug修改

2. Android APK root权限静默安装
使用示例见:Android APK root权限静默安装

3. Android root权限

直接调用ShellUtils.execCommand方法

4. 图片工具类
(1)Drawable、Bitmap、byte数组相互转换; (2)根据url获得InputStream、Drawable、Bitmap见ImageUtils。

更多相关文章

  1. 【原创】Android 4.4前后版本读取图库图片方式的变化
  2. Android RadioButton背景图片和文字的相对位置
  3. Android中高效的显示图片之一 ——加载大图
  4. 关于服务端设置了IPV6时,Android请求网络超慢的问题记录
  5. 华为android 10 手机恢复删除的图片,目前只能恢复小图。
  6. 设置提示信息,输入值类型,输入框引入图片,设置输入框的形状
  7. Android Android利用Fiddler进行网络数据抓包
  8. 从Android读取Unity assets下的图片并保存为Bitmap格式
  9. 开机动画(闪动的ANDROID字样的动画图片)

随机推荐

  1. Android中的版本适配
  2. android的binder机制研究(C++部分)
  3. 一定能成功的Android(安卓)NDK环境配置教
  4. 安卓手机恶意代码——Samsapo
  5. Android(安卓)之如何优化 UI 渲染(下)
  6. Android待机的suspend_sys_sync_queue分
  7. Android(安卓)MediaPlayer音频播放器详解
  8. Android(安卓)进程间通信之binder - 实战
  9. 推荐阅读:Android开发者的博客
  10. android的消息处理机制(图+源码分析)——Lo