V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Trinea
V2EX  ›  Android

Android公共库(缓存 下拉ListView 下载管理Pro 静默安装 root运行 Java公共类)

  •  
  •   Trinea · 2013-11-22 09:31:24 +08:00 · 9866 次点击
    这是一个创建于 4024 天前的主题,其中的信息可能已经有所发展或是发生改变。
    原文见:http://www.trinea.cn/?p=778

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

    TrineaAndroidCommon开源地址为TrineaAndroidCommon@Github,欢迎Star或Fork^_*,示例APK地址见TrineaAndroidDemo.apk。

    PS:这是准备分享的三个系列之一,暂时告一段落,后续准备开始Android性能优化系列以及Java多线程系列。Android公共库系列后续计划是添加二级缓存以及一个能给应用以亮点的公共View。
    一. 缓存类
    1. 图片缓存
    使用见:图片缓存的使用
    适用:获取图片较多的应用,如新浪微博、twitter、微信头像、美丽说、蘑菇街、花瓣、淘宝等等。
    主要特性:(1). 使用简单 (2). 轻松获取及预取新图片 (3). 包含二级缓存 (4). 可选择多种缓存算法(FIFO、LIFO、LRU、MRU、LFU、MFU等13种)或自定义缓存算法 (5). 可方便的保存及初始化恢复数据 (6). 省流量性能佳(有且仅有一个线程获取图片) (7). 支持不同类型网络处理 (8). 可根据系统配置初始化缓存 (9). 扩展性强 (10). 支持等待队列 (11). 包含map的大多数接口。
    效果图:
    image cache demo
    2. 图片SD卡缓存
    使用见:图片SD卡缓存的使用
    适用:应用中获取图片较多且图片较大的情况,在微博、花瓣、美丽说、path这类应用中可以起到很好的效果。
    主要特性:(1). 使用简单 (2). 轻松获取及预取新图片 (3). 包含二级缓存 (4). 可选择多种缓存算法(FIFO、LIFO、LRU、MRU、LFU、MFU等13种)或自定义缓存算法 (5). 可方便的保存及初始化恢复数据 (6). 支持文件sd卡保存及自定义文件名规则 (7). 省流量性能佳(有且仅有一个线程获取图片) (8). 支持不同类型网络处理 (9). 可根据系统配置初始化缓存 (10). 扩展性强 (11). 支持等待队列 (12). 包含map的大多数接口。
    效果图:


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

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


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

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


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


    三. 工具类
    具体介绍可见:Android常用工具类
    目前包括HttpUtils、DownloadManagerPro、ShellUtils、PackageUtils、PreferencesUtils、JSONUtils、FileUtils、ResourceUtils、StringUtils、ParcelUtils、RandomUtils、ArrayUtils、ImageUtils、ListUtils、MapUtils、ObjectUtils、SerializeUtils、SystemUtils、TimeUtils。

    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。
    更多工具类介绍见Android常用工具类

    你可能还感兴趣:
    Android性能调优总结
    viewpager实现画廊效果
    第 1 条附言  ·  2013-11-22 10:29:57 +08:00
    公共库github地址可直接见:https://github.com/Trinea/AndroidCommon
    3 条回复    1970-01-01 08:00:00 +08:00
    nuist
        1
    nuist  
       2013-11-22 10:35:35 +08:00
    嘿嘿,好博客,长期关注中~
    ooppcool
        2
    ooppcool  
       2013-11-22 12:55:16 +08:00
    使用该库有获取ROOt权限代码,360手机安全卫士会弹出安全警告.
    Trinea
        3
    Trinea  
    OP
       2014-02-14 11:40:26 +08:00
    @ooppcool 嗯,调用PackageUtils.installSilent这个api会请求root权限,不调用没事
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1075 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 19:57 · PVG 03:57 · LAX 11:57 · JFK 14:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.