Android公共库(缓存 下拉ListView 下载管理Pro 静默安装 root运行 Java公共类) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Trinea
V2EX    Android

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

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

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

    TrineaAndridCommon开源地址为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     Solana     2688 在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 10:00 PVG 18:00 LAX 03:00 JFK 06:00
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86