本文内容
- 环境
- android-common 项目结构
- 演示 android-common
- 参考资料
adnroid-common 主要包括如下内容:
- 缓存,包括图片缓存、预取缓存、网络缓存
- 公共 View,即功能封装好的部件,包括下拉获得最新和上拉加载更多 ListView、底部加载更多 ScrollView、滑动一页 Gallery
- 常用工具类,包括网络、下载、资源操作、shell、文件、Json、随机数、Collection 等
该演示可以说是常见效果的集合,但是作者将各个依赖的项目放得到处都是,还要现找再引用才行。
另外,作者还在 Demo 里实现了一个广告~shit~
下载 Demo
环境
- Windows 2008 R2 64 位
- Eclipse ADT V22.6.2,Android 4.4.2(API 19)
- SAMSUNG GT-8618,Android OS 4.1.2
android-common 项目结构
下载 Demo 后,包含如下项目。

图 1 压缩包内容
将这四个目录导入到 eclipse 中,会是五个项目,如下图所示:



图 2 项目结构
- android-auto-scroll-view-pager 是 auto-scroll-view-pager 项目。
- library 和 ListSamples 是,ViewPagerIndicator 项目。
- trinea-andorid-common 和 trinea-android-demo,是 android-common 库和其演示项目。

图 3 主程序,显示所有演示的内容
演示 android-common
缓存类
- 轻松获取及预取取新图片 ,包含二级缓存
- 可选择多种缓存算法(FIFO、LIFO、LRU、MRU、LFU、MFU等13种)或自定义缓存算法
- 可方便的保存及初始化恢复数据
- 省流量性能佳,有且仅有一个线程获取图片
- 支持 HTTP 请求 HEADER 设置及不同类型网络处理
- 根据系统配置初始化缓存
- 扩展性强
- 支持等待队列
- 包含map的大多数接口。
- 图片缓存。适用获取图片较多且图片使用频繁的应用,包含二级缓存,如新浪微博、twitter、微信头像、美丽说、蘑菇街、花瓣、淘宝等等。

图 4 图片缓存
- 图片SD卡缓存。适用获取图片较多,且较大的情况。需要二级缓存及 ListView 或 GridView 图片加载推荐使用上面的图片缓存。

图 5 图片 SD 卡缓存
- 网络缓存。适用网络获取内容不大的应用,尤其是 API 接口数据,如新浪微博、twitter 的 timeline、微信公众账号发送的内容等等。

图 6 网络缓存
公用的 View

图 7 下拉获得最新及上来加载的 ListView

图 8

图 9
- ViewPager Multi Fragment Demo

图 10

图 11
工具类
目前,包括 HttpUtils、DownloadManagerPro、ShellUtils、PackageUtils、PreferencesUtils、JSONUtils、FileUtils、ResourceUtils、StringUtils、ParcelUtils、RandomUtils、ArrayUtils、ImageUtils、ListUtils、MapUtils、ObjectUtils、SerializeUtils、SystemUtils、TimeUtils。

图 12
以及 Android APK root 权限静默安装、Android root 权限、图片工具类(Drawable、Bitmap、byte数组相互转换;;根据 url 获得 InputStream、Drawable、Bitmap)等。
参考资料
- Trinea android-common
- Trinea android-common-demo
- android-auto-scroll-view-pager
- Android-ViewPagerIndicator
- Trinea android-common API
下载 Demo