Android android-common 常用功能和工具集合
本文内容
- 环境
- android-common 项目结构
- 演示 android-common
- 参考资料
android-common 主要包括如下内容:
- 缓存,包括图片缓存、预取缓存、网络缓存。
- 公共 View,即功能封装好的部件,包括下拉获得最新和上拉加载更多 ListView、底部加载更多 ScrollView、滑动一页 Gallery 等等。
- 常用工具类,包括网络、下载、资源操作、Shell、文件读写、Json、序列化/反序列化、随机数、集合(Array、List、Map)、APK 包等等。
该演示可以说是常见效果的集合,估计作者攒了好久,但作者将各个依赖的项目放得到处都是,还要现找再引用才行。android-common 演示项目缺了三个项目的引用,真不知道他是无心,还有意。为什么不将完整的解决方案,放到 github 上。
另外,作者还在 Demo 里实现了一个广告~shit~
注意:所有项目中的 android-support-v4.jar 包版本要一致。
下载 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 压缩包内容
将这四个目录 import 到 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
功能封装好的部件。
- “下拉获得最新及上拉加载更多” ListView

图 7 “下拉获得最新及上拉加载更多” ListView
- 滑动(或项)的图片库

图 8 滑动(或项)的图片库
- 滑动到顶部或底部时响应的 ScrollView

图 9 滑动到顶部或底部时响应的 ScrollView
- ViewPager Multi Fragment

图 10
- ViewPager Demo

图 11 ViewPager 演示
工具类
目前,包括 HttpUtils、DownloadManagerPro、ShellUtils、PackageUtils、PreferencesUtils、JSONUtils、FileUtils、ResourceUtils、StringUtils、ParcelUtils、RandomUtils、ArrayUtils、ImageUtils、ListUtils、MapUtils、ObjectUtils、SerializeUtils、SystemUtils、TimeUtils。
- 下载管理 DownloadManager

图 12 下载管理
以及 Android root 权限及 APK root 静默安装、图片工具类(Drawable、Bitmap、byte 数组相互转换;根据 url 获得 InputStream、Drawable、Bitmap)等。
Android android-common 常用功能和工具集合的更多相关文章
- (转)Android之常用功能方法大集合
这些,都是Andorid中比较常用的方法和功能,在网上搜集整理一下记录之,以备不时之需.由于经过多次转载,源文作者不确凿,在此申明,敬请见谅.不得不赞,非常实用. 1.判断sd卡是否存在 boolea ...
- NO.4 Android开发中常用框架及工具
android-pulltorefresh 一个强大的拉动刷新开源项目,支持各种控件下拉刷新ListView.ViewPager.WevView.ExpandableListView.GridView ...
- Android开发免费类库和工具集合
用于Android开发的免费类库和工具集合,按目录分类. Action Bars ActionBarSherlock Extended ActionBar FadingActionBar GlassA ...
- Android 开源控件与常用开发框架开发工具类
Android的加载动画AVLoadingIndicatorView 项目地址: https://github.com/81813780/AVLoadingIndicatorView 首先,在 bui ...
- Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有
Android高效率编码-细节,控件,架包,功能,工具,开源汇总 其实写博客的初衷也并不是说什么分享技术,毕竟咱还只是个小程序员,最大的目的就是对自我的知识积累,以后万一编码的时候断片了,也可以翻出来 ...
- Android开发之常用必备工具类图片bitmap转成字符串string与String字符串转换为bitmap图片格式
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...
- Android 虚拟机Dalvik、Android各种java包功能、Android相关文件类型、应用程序结构分析、ADB
Android虚拟机Dalvik Dalvik冲击 随着Google 的AndroidSDK 的发布,关于它的API 以及在移动电话领域所带来的预期影响这些方面的讨论不胜枚举.不过,其中的一个话题在J ...
- Android Studio各种快捷功能及好用的插件
转载:http://www.jianshu.com/p/c439605a4364 概述 现如今开发越来越追求效率和节奏,节省出时间做更多的事情,除了开发技术上的封装等,开发工具的使用技巧也是很重要的, ...
- 【读书笔记《Android游戏编程之从零开始》】6.Android 游戏开发常用的系统控件(TabHost、ListView)
3.9 TabSpec与TabHost TabHost类官方文档地址:http://developer.android.com/reference/android/widget/TabHost.htm ...
随机推荐
- ADO.NET复习——自己编写SqlHelper类
今天复习了一次ADO.NET基础,整理一下自己的认为的重点: 编写SqlHelper类,方便我们执行数据库语句,这时可以直接调用封装在SqlHelper类的方法.现在大多数公司面试的时候,给你的面试题 ...
- 模块化的JavaScript开发的优势在哪里
如今模块化的 JavaScript 的开发越来越火热,无论是模块加载器还是优秀的 JavaScript 模块,都是层出不穷.既然这么火,肯定是有存在的理由,肯定是解决了某些实际问题.很多没接触过模块化 ...
- 78 Subsets(求子集Medium)
题目意思:求解一个数组的所有子集,子集内的元素增序排列eg:[1,3,2] result:[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]思路:这是一个递推的过程 [] ...
- [标签] action的使用
1.描述 This tag enables developers to call actions directly from a JSP page by specifying the action n ...
- 【leetcode】62. Uniqe Paths
题目 https://oj.leetcode.com/problems/unique-paths/ A robot is located at the top-left corner of a m ...
- Python自动化运维之18、Python操作 MySQL、pymysql、SQLAchemy
一.MySQL 1.概述 什么是数据库 ? 答:数据的仓库,和Excel表中的行和列是差不多的,只是有各种约束和不同数据类型的表格 什么是 MySQL.Oracle.SQLite.Access.MS ...
- iOS开发网络篇—XML数据的解析
iOS开发网络篇—XML数据的解析 iOS开发网络篇—XML介绍 一.XML简单介绍 XML:全称是Extensible Markup Language,译作“可扩展标记语言” 跟JSON一样,也是 ...
- 转:cookie和session(一)——原理
文章来自于:http://blog.csdn.net/half1/article/details/21645545 一.cookie和session是什么? cookie是服务器留在客户端中的小文 ...
- DropzoneJS 可以拖拽上传的js库
介绍 可以拖拽上传的 js库 网址 http://www.dropzonejs.com/ 同类类库 1.jquery.fileupload http://blueimp.github.io/jQu ...
- MYSQL用SOURCE命令时导入乱码的问题解决
现在遇到了,但记得上次辉哥说过的方法,在MYSQL命令行里输入: set names utf8; 再执行SOURCE命令,搞定!