最新内容建议直接访问原文:Android公共库(缓存 下拉ListView 下载管理Pro 静默安装 root运行 Java公共类),示例APK地址:TrineaAndroidDemo
介绍总结的一些android公共库,包含缓存(图片缓存、预取缓存)、公共View(下拉及底部加载更多ListView、底部加载更多ScrollView、滑动一页Gallery)、及工具类(下载管理、静默安装、shell工具类等等)。
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的大多数接口。
效果图:
2. 图片SD卡缓存
使用见:图片SD卡缓存的使用
适用:应用中获取图片较多且图片较大的情况,在微博、花瓣、美丽说、path这类应用中可以起到很好的效果。
主要特性:(1).使用简单 (2). 轻松获取及预取新图片(3).可选择多种缓存算法(FIFO、LIFO、LRU、MRU、LFU、MFU等13种)或自定义缓存算法(4). 支持文件sd卡保存及自定义文件名规则(5).省流量性能佳(有且仅有一个线程获取图片) (6).支持不同类型网络处理(7).可根据系统配置初始化缓存 (8). 支持序列化(9).扩展性强 (10).支持队列 (11). 包含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). 丰富的设置
效果图:
2. 滑动一页(一个Item)的Gallery
使用及实现原理见:滑动一页(一个Item)的Gallery的使用
效果图:
3. 滑动到底部或顶部响应的ScrollView
使用及实现原理见: 滚动到底部或顶部响应的ScrollView使用
效果图:
三. 工具类
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性能调优总结
viewpager实现画廊效果
相关推荐
内核层是包含了为 App 提供公共服务的的一些库。例如:公共资源、网络库、日志工具、数据库、图片加载等核心库。这些是整个 App 基础库。 业务层 我认为这一层是整个 App 架构的关键。因为根据实际业务需求,这一层...
25.2 公共库概述 70 25.3 Binder进程间通讯部分 71 26 Android IPC 通讯机制源码分析 73 26.1 Binder通信简介: 73 26.1.1. ServiceMananger进程注册过程源码分析: 74 26.1.2. client获取remote IServiceManager ...
Sqlite 一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中 W3C 万维网联盟,创建于1994年,是Web技术领域最具权威和影响力的国际中立性技术标准机构。主要的工作是发展 Web 规范,...
该存储库包含应用程序的源代码,它也是Relaynet协议套件中专用网关的参考实现。 本文档面向高级用户和(潜在)贡献者。 我们旨在使该应用程序尽可能简单直观,因此,我们目前不打算发布最终用户文档。 要了解有关...
1. 全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有效。 2.数据库表段字段常量和SQL逻辑分离,更清晰,建议使用Lite系列框架LiteOrm...
这是mParticle Android Media SDK的公共仓库。 我们已经构建了mParticle平台,以采用新方法来处理Web和移动应用程序数据,并且该平台已发展为支持50多种服务和SDK,包括开发人员工具,分析,归因,消息传递和广告...
该库已经打算弃用了,最初想使用github的总结来保证自己一个非常规整的学习习惯(因为是公共库,虽然很少人看到),该库在一段时间内满足了我的需要。 但随着学习的逐渐深入,发现渐渐的有一系列缺陷: 分类很繁琐,...
1. 全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有效。 2. 数据库表段字段常量和SQL逻辑分离,更清晰,建议使用Lite系列框架...
自述文件公共存储库 $ git remote set-url origin git@github.com:pollseed/Cafeteria.git私有仓库 bitbucketで管理している总结总结Android 公共应用程序存储库。我们将主要轻松实现客户端。
目前第一期完成,包括10个开源库及5个公共技术点的全面介绍。 - Android开源项目汇总,带效果gif图。 - Google Android官方培训课程中文版。 - GitHub 优秀的 Android 开源项目,很多中文现成项目。 - ...