Android-Next 公共组件库

这个库是我在日常开发过程中积累下来的一些可复用组件,大部分都在我的工作项目和个人项目中有使用。

最新版本: Maven Central

Gradle集成

    // core 核心库, 格式:jar和aar
    compile 'com.mcxiaoke.next:core:1.5.4'
    // task 异步任务库,格式:jar和aar
    compile 'com.mcxiaoke.next:task:1.5.4'
    // http HTTP组件, 格式:jar和aar
    compile 'com.mcxiaoke.next:http:1.5.4'
    // 函数操作组件
    compile 'com.mcxiaoke.next:functions:1.5.4'
    // ui UI组件, 格式:aar
    compile 'com.mcxiaoke.next:ui:1.5.4'
    // recycler EndlessRecyclerView, 格式:aar
    compile 'com.mcxiaoke.next:recycler:1.5.4'
    // extra-abc 依赖support-v7 AppCompat 格式:aar
    compile 'com.mcxiaoke.next:extras-abc:1.5.4'

使用指南(2016.04.21更新)

使用前请阅读对应模块的文档和示例,如果有不清楚的地方,可以看源码,或者向我提问。

Core

基类和工具类

MultiIntentService, NextMessage, Charsets, StringUtils, AndroidUtils, IOUtils, LogUtils。包含基础Activity和Service,还有一些工具类,功能包括:文件路径处理,Toast显示,屏幕方向,组件启用禁用,获取App签名信息;常用的文件复制/字符串/数组/列表/数据流读写,常用的字符串合并/分割/比较/转换/判断等操作;网络类型和状态获取,代理设置;Package相关的工具类,App是否安装,是否运行,启用和禁用组件等;Bitmap缩放,旋转,圆角,阴影,裁剪等;加密算法相关的工具方法,支持MD5/SHA1/SHA256/AES/HEX等。

TaskQueue

异步任务队列

TaskQueue, Async, TaskBuilder, TaskFuture, TaskCallback

包含异步任务执行模块相关的类,详细的使用见后面的说明

HttpQueue

注意:1.4.0及之后的版本依赖okhttp3

同步和异步HTTP请求

同步接口

NextClient, NextRequest, NextResponse, ProgressListener, RequestInterceptor。包含一个经过简单封装的HTTP操作模块,用于简化常用的网络请求操作

包含一个经过简单封装的HTTP操作模块,简化常用的网络请求操作

异步接口

主要是结合 http模块和task模块,提供方便的异步网络操作,本模块主要的方法都是异步执行,通过回调接口反馈结果,内部使用 TaskQeue 执行异步任务管理,使用 NextClient 发送和解析HTTP网络请求,通过回调接口返回数据,网络请求在异步线程执行,回调方法在主线程调用,可用于替代Google的Volley库,能极大的减轻应用开发中异步请求数据然后主线程更新UI这一过程的工作量。

Function

函数式操作符

函数模块对外只有一个接口类: com.mcxiaoke.next.func.Fn,主要包含常见的函数式数据操作符:map/flatMap/reduce/concat/filter/all/any

Cache

磁盘和内存缓存

包含磁盘缓存 DiscCache 和内存缓存 MemoryCache,内部封装了HashMap和LruCache两种类型的缓存,可根据需要选用。

RecyclerView

无限加载列表

封装 RecyclerView ,用于支持滚动到底部时自动加载数据和显示正在加载,主要有这几个类:

UI Widgets

常用UI控件

一些常用的UI控件,可简化日常开发,包括 AlertDialogFragment, ProgressDialogFragment, AspectRatioImageView, ArrayAdapterCompat等。

ShareProvider

高级分享组件

封装的一个 ActionProvider ,比系统自带的 SharedActionProvider 提供大得多的灵活度,可自定义出现在列表里的项目,主要包括 AdvancedShareActionProviderShareTarget 两个类。

更新记录

其它问题

发现任何问题可以提issue


关于作者

联系方式

开源项目


License

Copyright 2013 - 2015 Xiaoke Zhang

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.