最新内容建议直接访问原文: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实现画廊效果
相关推荐
`google()`和`jcenter()`是默认的公共仓库,包含了大部分常用的Android库。如果你有自己的私有仓库,可以使用`maven`块添加URL。 在`dependencies`块中,`implementation`关键字表示该依赖仅用于编译时,不会被打包...
本篇将基于“Android系统总结+精通android”这一主题,全面探讨Android系统的关键知识点,帮助你成为一名Android开发高手。 1. **Android系统架构** - **Linux内核**:Android的基础是Linux内核,提供了硬件抽象层...
在Android开发中,网络编程是不可或缺的一部分,而Retrofit库因其简洁、强大的特性,成为许多开发者首选的HTTP客户端工具。本篇文章将详细讲解如何对Retrofit进行简单的封装,以实现公共参数在GET和POST请求中的统一...
在Android中,我们通常会使用Gson或Jackson库进行JSON转换,Retrofit可以很好地与这些库集成。 **一、设置缓存** 为了提高用户体验,我们会对网络请求进行缓存处理。在Retrofit中,我们可以利用OkHttp的Cache机制来...
Android 开发知识点总结 Android 安全性简介 Android 开发中,安全性是非常重要的一个方面,需要处理多个与安全性相关的方面,包括应用程序进程和沙箱、代码和数据共享、通过应用程序签名达到的系统保护,以及权限...
在典型的桌面操作系统中,存在一种公共文件系统,允许任何应用程序读写文件,同时也具备一定的权限控制。相比之下,**Android系统采用了不同的机制**,即所有应用程序的数据(包括文件)都是私有的,这意味着一个...
总结来说,Android Settings是Android生态系统中的重要组成部分,它通过集成各种库和自定义代码来提供丰富的用户配置选项。理解并掌握Settings的工作原理,对于Android开发者来说,不仅可以提升应用的质量,还能帮助...
- **Android公共库**:包含API级别18的Java类库,开发者可以通过这些类库调用Android系统服务和API。 - **系统图像**:用于模拟器,让开发者能够在没有实际设备的情况下测试应用程序。 - **头文件和库**:用于C/C++...
总结一下,Android下载图片到相册涉及的主要步骤包括:请求权限、发起网络请求下载图片、保存图片到公共外部存储目录、以及通知媒体库更新。在实现这些功能时,可以利用Volley、OkHttp等网络库,以及Android的文件...
这个主题基于“Android属性动画的一些实例”,我们将深入探讨这一关键的Android UI动画技术。 属性动画是Android 3.0(API级别11)引入的新特性,与视图动画(View Animation)相比,它提供了更多灵活性和控制力。...
总结来说,Android的加载与提示依赖是提升用户体验的关键技术,通过适当的库和组件,开发者可以轻松实现加载指示和交互提示,使应用更具吸引力和易用性。在实际开发中,我们需要根据项目需求选择合适的库,合理配置...
1. **API库**:包含了Android系统的各种公共类和接口,如Activity、Intent、View等,是构建Android应用的基础。 2. **平台版本**:每个Android版本都有对应的SDK平台,包含该版本的系统库和API。 3. **工具**:如...
2. `android.jar`:包含Android API 23的公共类库,开发者可以通过此文件进行API调用。 3. `sources`子目录:提供Android 6.0源代码,便于开发者理解和学习系统工作原理。 4. `docs`子目录:包含API参考文档,方便...
在Android上,通过JNI(Java Native Interface)将Qt与FFmpeg库链接起来,可以实现高效的本地多媒体操作。 为了在QML中使用这些功能,通常会创建一个C++的Qt Quick模块(QQMLExtensionPlugin),并将相关的C++类...
为了使Android能够调用JavaScript函数,我们需要创建一个`@JavascriptInterface`注解的公共方法。这个注解确保了当WebView在安全模式下运行时,这些方法仍然是可访问的。 ```java public class ...
7. 分析和总结:从技术、商业和开发过程的角度评估Xamarin开发Android应用的成效。 这本书为读者提供了一个系统的学习路径,涵盖了从基础知识到高级应用开发的全方位内容,是希望使用C#开发Android应用的开发者的...
系统运行库层包括了Android运行时和一些核心库,应用运行时的代码和本地C/C++库依赖于这个层。应用框架层提供了构建应用所需的API,包括活动管理器、视图系统、包管理器等。应用层则是开发人员直接开发的应用程序,...
3. **网络请求**:Android的Volley、Retrofit等网络库都利用了代理模式。例如,Retrofit可以通过拦截器(Interceptor)实现请求的预处理,如添加公共请求头、处理网络错误等。 4. **界面交互**:在界面组件(如按钮...
总结来说,"android-29.zip"是Android开发中必不可少的资源,包含了Android Q的所有系统库和头文件,对于开发者而言,理解并适配Android Q的新特性是提升应用质量的关键步骤。无论是Cocos游戏开发还是其他类型的应用...
在Android系统中,文件管理是应用程序...总结,Android的分区存储机制旨在提供更好的数据管理和用户隐私保护。开发者应理解和适应这些变化,合理使用提供的API来修改和删除图片文件,同时保证应用的兼容性和用户体验。