Android android-common 工具

本文内容

  • 环境
  • 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


    缓存类

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

    图 4 图片缓存

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

    图 5 图片 SD 卡缓存

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

    图 6 网络缓存

    公用的 View

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

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

    • 滑动一页(或一个项)的图片库

    图 8

    • 滑动到顶部或底部时响应的 ScrollView

    图 9

    • ViewPager Multi Fragment Demo

    图 10

    • ViewPager Demo

    图 11

    工具类

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

    • 下载管理 DownloadManager

    图 12

    以及 Android APK root 权限静默安装、Android root 权限、图片工具类(Drawable、Bitmap、byte数组相互转换;;根据 url 获得 InputStream、Drawable、Bitmap)等。

     

    参考资料


     

    下载 Demo

    郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。